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

我在这里建立 的是一个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();
}

转载于:https://my.oschina.net/hippiedom/blog/351922

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值