Qt中正则表达式

正则表达式:

是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。

如何描述字符:

因为正则表达式也是用字符串表示的,所以,我们要首先了解如何用这些特殊字符(元字符)来描述普通字符。

  • 1、在正则表达式中,如果直接给出字符,就是精确匹配。用\d可以匹配一个数字,\w可以匹配一个字母或数字
  • 2、可以匹配除’\n’任意字符
  • 3、要匹配变长的字符,在正则表达式中,用*表示任意个字符(包括0个),用+表示至少一个字符,用?表示0个或1个字符,用{n}表示n个字符,用{n,m}表示n-m个字符
  • 4、\s可以匹配一个空格(也包括Tab等空白符),所以\s+表示至少有一个空格
  • 5、 \S表示匹配任意不是空白符的字符
  • 6、\表示将下一字符标记为特殊字符、文本、反向引用或八进制转义符
  • 7、对于更精确地匹配,可以用[ ]表示范围
  • 8、A|B可以匹配A或B
  • 9、^表示行的开头
  • 10、$表示行的结束

本篇blog是在Qt中的应用时所写:

  • Qt中正则表达式的头文件
#include <QRegExp>
  • 新建正则匹配表达式

    QRegExp rx1("\\b[A-Za-z0-9_]+(?=\\()")//匹配函数名,即()前的标识符
    QRegExp rx2("\#include\s*(<([^"<>|\b]+)>|"([^"<>|\b]+)")")//匹配#include <>/""头文件关键字
    QRegExp rx3("(\<([^\<]*)\>)|(\"([^\"]*)\")")//匹配双引号或<>中的字符串
  • 设置统配模式

    rx.setPatternSyntax(QRegExp::Wildcard);
  • 判断是否匹配

    rx.exactMatch("string");  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值