QT-正则表达式QRegExp

QT-正则表达式QRegExp

[email protected]

2015年1月10日

 

1 目的:字符串模式匹配及操作。

2 原理:通过模式字符串,查找相应的字符串索引。与QString配合,验证、查找、修改、替换、截取等操作字符串。

3 方法:QRegExp

QRegExp是以Perl的正则表达式为基础发展来的。可以使用简单的通配符匹配,或者纯字符匹配,也可以使用正则表达式匹配。使用setPatternSyntax()可以切换不同的匹配模式。

使用exactMatch()验证字符串是否符合指定格式。

匹配模式:RegExp,RegExp2,Wildcard,WildcardUnix,FixedString,W3CXmlSchema11。

参考:http://blog.csdn.net/c05170519/article/details/6873440

3.1 正则表达式匹配:QRegExp::setPatternSyntax(QRegExp::RegExp)

默认模式。类似Perl格式的正则表达式。

RegExp2模式与RegExp类似,但是使用最小分组匹配来获取匹配字符串。

3.1.1模式字符串格式

注意:在具有\的格式时,需要使用\\来转义。

3.1.1.1  基本字符模式

1)   简单单个字符:纯字符。

2)   字符集中单个字符:【】表示指定字符集中单个字符(格式:字符集合,或-表示范围,或^表示排除)。可以使用快捷匹配字符(参见:快捷字符:使用一个自定义的转义字符来代替常用的模式字符串。)。如果需要使用utf8(如汉字)可以使用\u编码(参见只包含汉字的字符串。)的方式,utf8的编码可以网络查找,如http://utf8.supfree.net/

示例:

a[^3]2.txt表示a2中间任意不同于3的一个字符(无字符为false),

[0-9-]表示0到9或负号-。

3)   数量字符:至少n个:E{n,},至多n个:E{,m},存在n个至m个:E{n,m}。确定数量字符E{}。默认返回最多匹配字符,使用setMinimal()则返回最少匹配字符串。

4)   开始字符:^

5)   结束字符:$

3.1.1.2  逻辑控制字符(断言字符)

1)   or:|表示或者。

2)   分组、捕获:(E)表示括号内的模式为一个基本模式,可以捕获。

3)   分组、不捕获:(?:E)表示括号内的模式为一个基本模式,不可捕获。

4)   分组中捕获值:(\m)。m是捕获的第m个分组值。

5)   肯定匹配:E(?=RegExp)查找E,其指定位置是RegExp。

6)   否定匹配:E(?!RegExp)=查找E,其指定位置不是RegExp。

3.1.1.3  快捷匹配字符:使用一个自定义的转义字符来代替常用的模式字符串。

1)   数字、非数字:\d=【0-9】,\D=[^0-9]

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弗里曼的小伙伴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值