Qt正则表达式的使用
QRegExp是Qt的正则表达式类. 一.元字符
二.统配模式 三.转义序列 * 匹配”*” + 匹配”+” ? 匹配”?” b 匹配响铃字符,使计算机发出嘟的一声. t 制表符号 n 换行符号 r 回车符鉿 s 任意空格 xnn 匹配16进制为nn的字符 nn 匹配8进制的nn字符 这些表达式均以开始,与C++的转义字符相同,所以为了定义QRegExp中的一个转义序列, 需要在前面添加两个 用正则表达式验证文本有效性你可以使用QRegExp::exactMatch来判断一个字符串是否符合一个pattern。
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->voidtestRegexMatch() boolmatch=rx.exactMatch(“a=3″); match=rx.exactMatch(“a/2″); 用正则表达式提取数据你可以利用利用正则表达式从一个字符串里提取特定的字段或数据。例如,你可以用以下代码从”a=100″里提取”a”和”100″。
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->voidtestRegexCapture() QStringstr(“a=100″); qDebug()<<rx.cap(0);//a=100,textmatchingpattern qDebug()<<rx.pos(0);//0,positionofthenthcapturedtext 用正则表达式修改文本你可以把字符串中匹配的字符串替换成”一般字符串”
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->QStrings=”a=100″; 或是把字符串中匹配的字符串替换”提取的字符串”
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->QStrings=”a=100″; 把正则表达式转换成C/C++ string的小工具没有Python的”"”或是C#的@。标准的正则表达式因为出现一些特殊字符,在C/C++代码里使用时,必须进行转换。例如:”(S+)s*=s*(S*)”必须转换成”(S+)s*=s*(S*)” Qt的SDK里包含一个很帮的GUI工具,可以方便我们进行这类转换并测试你的表达式。在Linux下,它的路径是/usr/local/Trolltech/Qt-4.5.3/examples/tools/regexp/regexp (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |