- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第
Qt中正则表达式的常见用法(QRegularExpression类)
目录一.基本功能介绍:1.创建正则表达式对象:2.匹配字符串:3.捕获匹配的内容:4.替换匹配的内容:5.检测是否匹配:6.使用捕获组:二.写法介绍2.1:匹配的示例2.2:相关符号介绍三.复杂样例分析附:Qt正则表达式(匹配正数、负数、浮点数)总结
一.基本功能介绍:
在Qt中,可以使用QRegularExpression类来处理正则表达式。以下是一些常用的正则表达式用法:
1.创建正则表达式对象:
QRegularExpressionregex(pattern);
2.匹配字符串:
QStringstr=Hello,World!;
if(regex.match(str).hasMatch()){
qDebug()Matchfound!;
}else{
qDebug()Nomatchfound!;
}
3.捕获匹配的内容:
QRegularExpressionMatchmatch=regex.match(str);
if(match.hasMatch()){
qDebug()Capturedtext:match.captured();
}
4.替换匹配的内容:
QStringreplacedStr=regex.replace(str,replacement);
5.检测是否匹配:
if(regex.isValid()){
qDebug()Validregexpattern!;
}else{
qDebug()Invalidregexpattern!;
}
6.使用捕获组:
QRegularExpressionregex((\\d+):(\\w+));
QStringstr=123:abc;
QRegularExpressionMatchmatch=regex.match(str);
if(match.hasMatch()){
qDebug()Number:match.captured(1);
qDebug()Text:match.captured(2);
}
二.写法介绍
2.1:匹配的示例
当使用正则表达式时,可以根据具体的需求和匹配规则来编写不同的正则表达式模式。以下是一些常见的正则表达式写法示例:
匹配数字:\d+
示例:匹配一个或多个数字,例如:123,4567等。
匹配字母:[a-zA-Z]+
示例:匹配一个或多个字母,不区分大小写,例如:abc,XYZ等。
匹配邮箱地址:\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Z|a-z]{2,}\b
示例:匹配常见的邮箱地址格式,例如:example@,test123@等。
匹配URL:(http|https)://([\w-]+.)+[\w-]+(/[\w-./%=]*)
示例:匹配常见的URL格式,例如:,/page1等。
匹配手机号码:1\d{10}
示例:匹配中国大陆手机号码格式,以1开头,共11位数字,例如:,等。
2.2:相关符号介绍
在正则表达式中,*、、+、{n}等符号被称为量词,用于指定匹配模式中前面字符的重复次数或出现情况。下面详细介绍一些常用的量词及其作用:
*(星号):表示匹配前面的字符零次或多次。
示例:ab*可以匹配a,ab,abb,abbb等。
+(加号):表示匹配前面的字符至少一次或多次。
示例:ab+可以匹配ab,abb,abbb等,但不能匹配a。
(问号):表示匹配前面的字符零次或一次,即可选匹配。
示例:ab可以匹配a,ab,但不能匹配abb。
{n}:表示匹配前面的字符恰好n次。
示例:a{3}可以匹配aaa,但不能匹配aa或aaaa。
{n,}:表示匹配前面的字符至少n次。
示例:a{2,}可以匹配aa,aaa,aaaa等。
{n,m}:表示匹配前面的字符至少n次,最多m次。
示例:a{2,4}可以匹配aa,aaa,aaaa,但不能匹配a或aaaaa。
这些量词可以用于控制匹配模式中字符重复次数的范围,使得正则表达式更加灵活和精确。在实际应用中,根据具体的匹配需求和规则,可以灵活运用这些量词来
文档评论(0)