加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

QT——正则表达式

发布时间:2020-12-13 23:05:55 所属栏目:百科 来源:网络整理
导读:1、构造函数:QRegExp::QRegExp(const QString pattern,Qt::CaseSensitivity cs = Qt::CaseSensitive,PatternSyntax syntax = RegExp) /* 用给定的 pattern 构造一个正则表达式,如果语法模式syntax 是Wildcard,pattern必须使用通配符,默认的 syntax( 语

1、构造函数:QRegExp::QRegExp(const QString & pattern,Qt::CaseSensitivity cs = Qt::CaseSensitive,PatternSyntax syntax = RegExp)

/* 用给定的pattern 构造一个正则表达式,如果语法模式syntax 是Wildcard,pattern必须使用通配符,默认的syntax(语法)是RegExp,pattern大小写敏感,cs 是Qt::CaseInsensitive*/

------------------------------------------------------------

2、正则表达式验证器构造函数:QRegExpValidator(const QRegExp & rx,QObject * parent = 0)

/* Constructs a validator with aparentobject that accepts all strings that match the regular expressionrx.(接受和正则表达式rx匹配的所有字符串)*/

------------------------------------------------------------

3、Example of use:

// regexp:optional'-'followedbybetween1and3digits
QRegExp rx("-?d{1,3}");
QValidator *validator = new QRegExpValidator(rx, this);
 
QLineEdit *edit = new QLineEdit(this);
edit->setValidator(validator);

4、基本语法

1)一元字符
. 匹配任意单个字符。例如:1.3 可能是1. 后面跟任意字符,再跟3
^ 匹配字符串首。例如:^12可能是123,但不能是312
$ 匹配字符串尾。 例如:12$可以是312,当不能是 123
[] 匹配括号内输入的任意字符。[123]可以为1,2 或3
* 匹配任意数量的前导字符。 例如,1*2可以为任意数量个1(甚至没有),后面跟一个2
+ 匹配至少一个前导字符。 例如,1+2必须为一个或多个1,后跟一个2
? 匹配一个前导字符或为空。例如 1?2可以为2或这12

----------------------------------------------------------------------------

2)通配符模式 :QRegExp::setPatternSyntax(QRegExp::Wildcard);可以将元字符设置为统配模式。在统配模式下,只有3个元字符可以使用,功能没有变化.。

? 匹配任意单个字符。 例如:1?2可以为1,后面跟任意单个字符, 再跟2
* 匹配任意一个字符序列。 例如:1*2,可以为1,后面跟任意数量的字符,再跟一个2
[] 匹配一个定义的字符集合。 例如: [a-zA-Z.]可以匹配 a到z之间任意一个字符, [^a]匹配除小写a以外的字符。

3)转义序列
. 匹配”.”
^ 匹配”^”
$ 匹配”$”
[ 匹配"["
] 匹配”]”
* 匹配”*”
+ 匹配”+”
? 匹配”?”
制表符号
换行符号
回车符 s 任意空格 xnn 匹配16进制为nn的字符 nn 匹配8进制的nn字符

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读