Qt
大约 1 分钟
Qt
目录
正则表达式
QRegExp
Qt的QRegExp
类是正则表达式的表示类,基于Perl的正则表达式语言,完全支持Unicode
组成:正则表达式由三部分组成
- 表达式(expressions)
- 量词(quantifiers)
- 断言(assertions)
表达式
- 最简单的表达式是一个字符
- 字符集举例
[AEIOU]
表示匹配所有的大写元音字母[^AEIOU]
表示匹配所有非元音字母,即辅音字母[a-z]
表示匹配所有的小写英文字母
量词
说明表达式出现的次数
举例
x[1,2]
表示x为1或2个[A-Za-z_]+[A-Za-z_0-9]*
匹配计算机语言的标识符
正则表达式的量词(
E
是表达式的意思)(这里的方括号好像要变成花括号才对,不知道为什么书上的是方括号)量词 含义 E?
匹配0次或1次,等同 E[0,1]
E+
匹配1次或多次,等同 E[1,]
E*
匹配0次或多次,等同 E[0,]
E[n]
匹配n次 E[n,]
匹配至少n次 E[,m]
匹配最多m次,等同 E[0,m]
E[n,m]
匹配n次到m次
断言
举例
using(?=E\s+namespace)
,匹配后面接 namespace 的 usingusing(?!E\s+namespace)
,匹配后面不接 namespace 的 usingusing\s+namespace
,匹配 using namespace
正则表达式的断言
符号 含义 ^
字符串开头进行匹配 $
字符串结尾进行匹配 \b
单词边界 \B
非单词边界 (?=E)
表达式后紧随E才匹配 (?!E)
表达式后不跟随E才匹配