我在这里建立 的是一个Qt控制台应用程序,程序代码如下所示:
#include <QCoreApplication>#include <QRegExp>
#include <QDebug>
void Regexps()
{
QRegExp rx("^\\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("my email");
qDebug() << rx.indexIn("my eamil letter");
qDebug() << "**************";
rx.setPattern("M(?!ail)");//匹配字符M,其后面不能跟有ail字符
QString str1 = "this is M";
str1.replace(rx,"Mail");
qDebug() << "str1=" <<str1;
QString str2 = "my M,your Ms,his Mail";
str2.replace(rx,"Mail");
qDebug() << "str2=" <<str2;
qDebug() << "**************";
QString str3 = "One Eric another Eirik,and an Ericsson."
"How many Eiriks,Eric?";
qDebug() <<str3;
QRegExp rx2("\\bEi? ri[ck]\\b"); //匹配Eric或者Eirik
int pos =0;
int count =0;
while (pos>=0) {
pos = rx2.indexIn(str3,pos);
if(pos >= 0)
{
++pos;
++count;
}
}
qDebug() <<count;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Regexps();
return a.exec();
}