Qt学习笔记(9)——正则表达式的使用

前端之家收集整理的这篇文章主要介绍了Qt学习笔记(9)——正则表达式的使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在这里建立 的是一个Qt控制台应用程序,程序代码如下所示:

#include<QCoreApplication>#include<QRegExp>
#include<QDebug>

voidRegexps()
{
QRegExprx("^\\d\\d?$");/*两字符必须为数字,第二个字符可以没有*/
qDebug()<<rx.indexIn("a1");
qDebug()<<rx.indexIn("5");
qDebug()<<rx.indexIn("5b");
qDebug()<<rx.indexIn("12");
qDebug()<<rx.indexIn("123");
qDebug()<<"**************";

rx.setPattern("\\b(email|letter)\\b");//匹配email和letter单词
qDebug()<<rx.indexIn("emailletter");
qDebug()<<rx.indexIn("myemail");
qDebug()<<rx.indexIn("myeamilletter");
qDebug()<<"**************";

rx.setPattern("M(?!ail)");//匹配字符M,其后面不能跟有ail字符
QStringstr1="thisisM";
str1.replace(rx,"Mail");
qDebug()<<"str1="<<str1;
QStringstr2="myM,yourMs,hisMail";
str2.replace(rx,"Mail");
qDebug()<<"str2="<<str2;
qDebug()<<"**************";

QStringstr3="OneEricanotherEirik,andanEricsson."
"HowmanyEiriks,Eric?";
qDebug()<<str3;
QRegExprx2("\\bEi?ri[ck]\\b");//匹配Eric或者Eirik
intpos=0;
intcount=0;
while(pos>=0){
pos=rx2.indexIn(str3,pos);
if(pos>=0)
{
++pos;
++count;
}
}
qDebug()<<count;
}

intmain(intargc,char*argv[])
{
QCoreApplicationa(argc,argv);
Regexps();

returna.exec();
}
原文链接:https://www.f2er.com/regex/360992.html

猜你在找的正则表达式相关文章