QML正则表达式笔记

更新时间:2023-07-07 20:46:40 阅读: 评论:0

QML正则表达式笔记
你是sb参考 <<Qt Quick 核⼼编程>>词霸在线
在Qt C++ 中有QRegExp , 在QML中有RegExp,它们是对字符串执⾏模式匹配的强⼤⼯具.
两种构造正则表达式的⽅法tamall
字⾯量语法: /pattern/attributes
创建RegExp对象: new RexExp(pattern, attributes)
在"/String/i"这个正则表达式中, String就是模式(pattern), i是修饰符,表⽰忽略⼤⼩写.这个正则表达式的意思就是忽略⼤⼩写地匹配String 这个单词.
这⾥简单介绍修饰符、元字符、重复(量词)、字符转义、字符集合等常见的正则表达式组成元素。
var str =new String("I\'m a string");
str.match(/String/i);
str.arch(new RegExp("String","i"));
str.arch(RegExp("String","i"));
(1)修饰符
QML中可以使⽤的修饰符有3个
i  //匹配时忽略⼤⼩写
pasta是什么意思g  //查找所有匹配⽽⾮在找到第⼀个匹配后停⽌,即全局匹配
m  //执⾏多匹配比尔盖茨英文简介
(2)元字符
元字符是拥有特殊含义的字符,常⽤元字符如下:
.//匹配处换⾏以外的任意字符
jungle是什么意思\w  //匹配字母、数字、下划线或汉字
\s //匹配任意的空⽩符
backflip\S//匹配⾮空⽩字符
\d //匹配数字
\D//匹配⾮数字字符
\b //匹配单词的开始或结束
^//匹配字符串的开始
$ //匹配字符串的结束
(3)重复
下⾯是正则表达式中常⽤的量词,可以使⽤它们匹配重复。
*//重复0次或多次
+//重复1次或多次
//重复0次或1次
{n}//重复n次
{n,}//重复n次或多次
如何查询四级成绩
{n,m}//重复n到m次
(4)字符集合
option explicit匹配没有预定义元字符的字符集合时,需要⽤到字符集。
只需要在[ ] 中列出它们就⾏了,例如[xyz]匹配x、y、z中的⼀个。
oyama
也可以指定⼀个字符范围 [0-9] 代表的含义与\d⼀样,[a-zA-Z]表⽰26×2个⼤⼩写字母
(5)转义字符
有时你可能想匹配”*“或"." , 因为他们被作为元字符使⽤,所以这⾥要转义 使⽤"*“或”.“即可。
要查找”“本⾝,使⽤”\"
最后说明: String类的arch()、match()、replace()、split()这四个⽅法⽀持正则表达式。
综合使⽤实例
模式"\d+“中,\d是元字符,表⽰查找数字, + 是量词,表⽰重复⼀次或多次.
那么”\d+"的意思就是匹配⼀个或多个连续的数字.
下⾯这个例⼦中,使⽤g来进⾏全局匹配, “/\d+/g”
var numberSource =new String("2020-07-03, I got 96");
var results = numberSource.match(/\d+/g);
匹配西安市电话,添加对“(029)nnnnnnnn"、"(029)nnnnnnnn"这两种形式的⽀持,可以使⽤下⾯的正则表达式”[((]?029[))]?\d{8}/mg“

本文发布于:2023-07-07 20:46:40,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1084251.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:匹配   字符   数字   集合   开始   范围
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图