Cpper
C/C++高级工程师 Android高级软件工程师 IT集成工程师 音频工程师 熟悉c,c++,java,c#,py,js,asp等多种语言 程序猿
QRegex提供字符串验证,匹配,搜索,替换和切割的功能
一个比较简单的例子是
QRegExp exp("-(.*)\(");
exp.setMinimal(
true);
这儿匹配的是以-开头,以(结束的字符串
基本的QRegex
1.isValid()判断给定表达式是否合法
2.errorString()检错误和isValid()类似
3.isEmpty()判断正则表达式是否为空
4.caseSensitivity()检测大小写敏感
5.pattern()获取正则表达式本身
6.capturedTexts获取捕获的所有字符串
7.cap()获取捕获的字符串索引从1开始
8.numCaptures()返回匹配的字符串个数
9.

indexIn ( const QString & str, int offset = 0, CaretMode caretMode= CaretAtZero ) const

从字符串给定偏移匹配之
10.还有一个函数需要交代的是setMinimal(int minimal)
该函数主要作用是开启或者关闭最小匹配
举一个例子:
"We must be <b>bold</b>, very <b>bold</b>!" and the pattern <b>.*</b>.
如果设置正则表达式为<b>.*</b>
如果设置为最大匹配,则捕获到<b>bold</b>,very <b>bold</b>
如果设置为正则表达式,
则第一次匹配到第一个<b>bold</b>
第二次匹配到第二个<b>bold</b>

基本的正则表达式如下:
\r       回车
\n      换行
\t      制表
\\      \本身
\"      "
\^    ^
\$    $
\s    匹配空白符
\~   匹配字符串开始
$     匹配字符串结束
\b    单词的开始或者结束
[]    匹配其中的一个字符 比如[abc]匹配a,b或者c [^abc]匹配a,b,c之外的字符 [a-c] 匹配a到c之间的字符
{n} 匹配出现n次 比如ab{2} 相当于abb ab{1,3}相当于ab,abb,abbb
{n,}最少出现n次
?   出现0,1次 比如ab[cd]?相当于ab,abc,abd
++ 最少出现1次
*   不出现或者出现任意次,比如\^*c匹配 d,^d,^^d等




posted on 2011-11-30 19:57 ccsdu2009 阅读(2711) 评论(0)  编辑 收藏 引用 所属分类: QT编程

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理