当前位置: 首页 > news >正文

长春火车站核酸检测多久出结果打开百度一下

长春火车站核酸检测多久出结果,打开百度一下,网站建设的介绍,深圳好的网站建设公司哪家好正则表达式即一个文本匹配字符串的一种模式,Qt中使用QRegExp类进行模式匹配.主要应用:字符串验证,搜索,替换,分割..... 正则表达式中字符及字符集 c 匹配字符本身,如a匹配a \c 跟在\后面的字符匹配字符本身,但本表中下面指定的这些字符除外。 \a 匹…

正则表达式即一个文本匹配字符串的一种模式,Qt中使用QRegExp类进行模式匹配.主要应用:字符串验证,搜索,替换,分割.....

正则表达式中字符及字符集

c

匹配字符本身,如a匹配a

\c

跟在\后面的字符匹配字符本身,但本表中下面指定的这些字符除外。

\a

匹配ASCII的振铃

\f

匹配ASCII的换页

\n

匹配ASCII的换行  

\r

匹配ASCII的回车

\t

匹配ASCII的水平制表符

\v

匹配ASCII的垂直制表符

\xhhhh

匹配Unicode字符对应的十六进制数

\0ooo

匹配八进制的ASCII/Latin1字符

.

匹配任意字符  

\d

匹配任意一个数字

\D

匹配一个非数字

\s

匹配一个空白字符,包括“\t”、“\n”、“\v”、“\f”、“\r”及“”

\S

匹配一个非空白字符

\w

匹配一个单词字符,包括任意字符数字下划线,即A~Z,a~z,0~9中任意一个

\W

匹配一个非单词字符

\n

第n个反向引用

正则表达式中的量词

E?

匹配0次或1次等价于E{0,1}

E+

匹配1次或多次,等价于E{1,}

E*

匹配0次或多次,等价于E{0,}

E{n}

匹配n次

E{n,}

匹配至少n次

E{,m}

匹配至多m次

E{n,m}

匹配至少n次,至多m次

 

正则表达式中的断言

^

标志字符串的开始。若匹配“^”则使用“\\^”

$

标志字符串的结尾。若匹配“$”则使用“\\$”

\b

一个单词的边界

\B

一个非单词的边界。当\b为false则它为true

以上是在正则表达式中字符的使用解释,这不必要求能记下来,知道正确使用,在用到的时候能查阅使用就可以了. 

一.QRegExp

1.

exactMatch()精准匹配字符,匹配的字符完全相同时返回true,否则返回false.

    QRegExp reg("a");    qDebug()<<"匹配字符本身:"<<reg.exactMatch("abc")        //false<<reg.exactMatch("a")<<endl;   //true

2.

exactMatch()精准匹配字符,数字.

通过上面的表格,我们可知: \d表示匹配任意一个数字,我们需要再加一个\进行转义.*表示匹配0次或多次.\D表示匹配一个非数字,{2}表示匹配2次.

    QRegExp reg0("(\\d*\\D{2})");//()仅仅作为字符串组合.D{2}匹配2个字符.\\d*匹配任意个数字qDebug()<<"匹配数字:"<<reg0.exactMatch("183cm")    //true<<reg0.exactMatch("183m")      //false<<reg0.exactMatch("72in");     //true

3.

匹配通配符.

*表示匹配0次或多次.使用setPatternSyntax()设置匹配语法,正则表达式支持通配符.它的参数有好几个枚举值,其中QRegExp::wildcard 正则表达式支持通配符;QRegExp::RegExp 正则表达式支持默认语法.

    QRegExp rx("*.txt");//设置匹配语法rx.setPatternSyntax(QRegExp::Wildcard);//正则表达式支持通配符//rx.setPatternSyntax(QRegExp::RegExp);//正则表达式支持默认语法qDebug()<<"通配符匹配:"<<rx.exactMatch("License.txt")            // true  exactMatch准确匹配<<rx.exactMatch("License.txt.bak")<<endl; //false

4.

断言,匹配单词边界.

\b表示一个单词的边界. \\b(hello|Hello)\\b  表示单词hello|Hello前后都有一个其他的字符,这是单词的边界.使用indexIn()函数匹配字符,可以返回匹配到的字符的位置,-1表示匹配失败.返回的正整数表示匹配到的字符具体位置.

    QRegExp reg1;//设置匹配模式// \b代表一个单词的边界, \\b(hello|Hello)\\b 表示单词前后都有一个其他的字符reg1.setPattern("\\b(hello|Hello)\\b");qDebug()<<"匹配多个单词:"<<reg1.indexIn("helloEveryone")         //-1表失败<<reg1.indexIn("Hmm hello everyone!")    //匹配到的字符位置4<<reg1.indexIn("Hi girls! hello boys!")  //匹配到的字符位置10<<endl;

5.

捕获匹配的文本.cap()函数捕获的文本不会捕获到空格.cap(0)捕获全部匹配的文本.cap(1)捕获匹配到的第一个文本.cap(2)捕获匹配到的第二个文本.下面代码,正因为cap()不会捕获到空格,所以匹配到的文本226 cm中,cap(1)捕获到226;cap(2)捕获到的是cm而不是空格.

\d表示匹配任意一个数字.+表示匹配1次或多次.

(?:表示开始.

\s表示匹配一个空白字符,包括制表符“\t”、换行符“\n”、垂直制表符“\v”、换页符“\f”、回车符“\r”及“”. 

*表示匹配0次或多次. 

)表示结束.

    QRegExp regHeight("(\\d+)(?:\\s*)(cm|inch)");//英尺//匹配文本int res = regHeight.indexIn(" YaoMing 226 cm");//文本匹配if(res>-1){qDebug()<<"文本捕获:"<<"cap(0):"<<regHeight.cap(0) //捕获全部匹配文本 226cm<<"cap(1):"<<regHeight.cap(1) //捕获第一个 226<<"cap(2):"<<regHeight.cap(2);//捕获第二个 cm

6.

断言 ?!不紧跟才匹配.replace()替换字符.indexIn()找出匹配的字符位置.

    QRegExp reg2;//QRegExp reg2("面(?!包)");//可在定义时直接设置 reg2("面(?!包)"),也可通过setPattern()设置//设置匹配模式.reg2.setPattern("面(?!包)");//"面"后不紧跟"包"才匹配,即面和包不能在一起QString str = "面没了,吃面包也好,吃面食物也可以.";qDebug()<<str<<endl;           //替换前:面没了,吃面包也好,吃面食物也可以.str.replace(reg2,"意大利");    //用"意大利"替换"面"qDebug()<<str<<endl;           //替换后:意大利没了,吃面包也好,吃意大利食物也可以.qDebug()<<reg2.indexIn("你好,面还没好,你吃面包吗?")<<endl;//匹配到的位置是3

二.QRegularExpression

在Qt 5中引入了新的正则表达式类QRegularExpression.

1.

match()部分匹配,并返回匹配到的字符位置.匹配到的字符起始位置:0-5,字符为"hello"

    QRegularExpression regExp("hello");//部分匹配,匹配一段字符结果 match().匹配到的字符起始位置:0-5,字符为"hello"qDebug()<<"QRegularExpression 匹配字符:"<<regExp.match("hello world!");

2.大小写不敏感匹配.

\w表示匹配一个单词字符,包括任意字符数字下划线,即A~Z,a~z,0~9中任意一个.{3,8}表示最少匹配3次,最多匹配8次.A-Z表示可匹配范围大写字母A到Z.

setPatternOption()匹配模式选项,它有非常多的匹配模式枚举值,其中常用的有:

QRegularExpression::CaseInsensitiveOption表示大小写不敏感匹配;

QRegularExpression::NoPatternOption表示不设置匹配模式,就是默认匹配模式.

QRegularExpression::DotMatchesEverythingOption表示正则表达式中的.可以匹配任何字符,包括换行符。如果不使用该选项,则.只能匹配除了换行符以外的任何字符.

QRegularExpression::MultilineOption用于指定正则表达式是否跨行匹配。如果启用了此选项,则^和$元字符将匹配每行的开头和结尾,而不是整个字符串的开头和结尾.

......

    //regExp.setPattern("[\\w]{3,8}"); //设置匹配模式.匹配3到8个字符regExp.setPattern("[A-Z]{3,8}");   //设置匹配模式regExp.setPatternOptions(QRegularExpression::CaseInsensitiveOption);//设置模式选项.大小写不敏感(不区分大小写)qDebug()<<"大小写不敏感匹配:"<<regExp.match("hello");

3.captured()捕获文本.

captured(0)完整捕获整个文本;captured(1)捕获第一个文本;以此类推.hasMatch()精准匹配.如果匹配成功则返回true.

    QRegularExpression reDate("^(\\d\\d)/(\\d\\d)/(\\d\\d\\d\\d)$");//日/月/年QRegularExpressionMatch match0 = reDate.match("01/10/1949");//匹配类if(match0.hasMatch()){//hasMatch()如果成功返回trueQString strMatch = match0.captured(0);  //完整匹配,捕获整个文本QString day = match0.captured(1);       //捕捉到第一个文本日QString month = match0.captured(2);     //捕捉到第二个文本到月QString year = match0.captured(3);      //捕捉到第三个文本到年qDebug()<<"捕获文本:"<<"strMatch:"<<strMatch<<endl<<"day:"<<day<<endl<<"month:"<<month<<endl<<"year:"<<year<<endl;}

4.部分匹配match().^表示字符串匹配开始,$表示字符串匹配结束.

hasMatch()精准匹配.hasPartialMatch()部分匹配.

    //部分匹配QString sPattern;sPattern = "^(Jan|Feb|Mar|Apr|May) \\d\\d \\d\\d\\d\\d$";//月 日 年QRegularExpression reDate1(sPattern);//初始化指定表达式QString ss("Apr 01");//不完整QRegularExpressionMatch match1;//用于接收匹配结果//reDate1.match().调用match()方法,返回的是QRegularExpressionMatch类型,所以用该类型接收match1 = reDate1.match(ss,    //需匹配的字符0,     //匹配开始的位置QRegularExpression::PartialPreferCompleteMatch//匹配模式:部分匹配);bool bHasMatch =  match1.hasMatch();        //精准匹配bool bPartial =  match1.hasPartialMatch();  //部分匹配qDebug()<<bHasMatch    //false<<bPartial;     // true

关于Qt正则表达式的分享就到这里了,all~~

http://www.tj-hxxt.cn/news/121985.html

相关文章:

  • WordPress目录和连接关系深圳排名seo公司
  • 乌市建设委员会官方网站优秀网站网页设计图片
  • 网站做好怎么开始做推广怎么让关键词快速上首页
  • 南宁网站建设推广服务精准营销通俗来说是什么
  • 教育信息化建设网站seo的中文意思
  • 如何创建企业网站新媒体运营师证书
  • 企业电子商务网站的建设方式谷歌搜索引擎镜像入口
  • 宜宾市城乡建设厅网站培训班线上优化
  • 网站建设公司哪家好 尖端磐石网络东莞网站推广营销网站设计
  • 做网站策划国外网站推广平台有哪些
  • 做测算的网站seo培训学什么
  • 上海十大科技公司seo内容优化是什么意思
  • 廊坊seo霸屏网站查询工具seo
  • 全国高速公路施工建设有没有网站湖南网站托管
  • wordpress 隐藏插件搜索引擎优化的基本内容
  • 好的网站建设公司排名百度关键词优化公司哪家好
  • 河南艾特 网站建设提高工作效率
  • 做零食用哪个网站好3天网站seo优化成为超级品牌
  • 做盗版电影网站赚钱网络商城应该如何推广
  • 用java开发网站的步骤免费顶级域名注册
  • 请拿笔记记下新域名二十条优化措施全文
  • 有一个专门做lol同人的网站合肥百度seo排名
  • 如何做百万格子网站推广普通话的文字内容
  • 南昌网站搜索排名软文广告经典案例
  • 做网站内存最小源码神马快速排名优化工具
  • 做购物网站的初衷年度关键词有哪些
  • 网站制作制作重大新闻事件
  • 如何建设可靠的网站上海搜索排名优化
  • 哪个网站的课件做的好处个人免费域名注册网站
  • 淘宝上做微请帖的在哪个网站网络优化工程师为什么都说坑人