QT正则表达式简单介绍以及在QLineEdit的实际应用

 

1 基本知识

1.1简介

正则表达式(Regular Expression,通常简写为RegExpRE等),预先定义一些字符或字符的组合,用于匹配文本中的一段字符串

1.2用途

1.2.1验证

判断字符串是否符合某个标准,比如是一个整数或者没有空格

1.2.2搜索

正则表达式提供了比普通字符串匹配更为强大的匹配方式,比如匹配下面的词语:mail, letter, correspondence,但是不包括email, mailman, letterbox等等。

1.2.3.查找并替换

正则表达式能够用一个不同的字符串,替换所有出现另一个字符串的地方,比如用&替换&,如果原先&后面已经有了amp;那么不替换。

1.3符号的作用

表达式

说明

\r,\n

代表回车和换行

\t

制表符

\\

代表“\”本身

\^

匹配^符号本身

\$

匹配$符号本身

/d

任意一个数字,0~9中的任意一个

/w

任意一个字母数字或下划线

/s

包括空格、制表符、换页符等空白字符的其中任意一个。

 

 

元字符

说明

.

匹配除了换行符以外的任意字符

\w

匹配字母、数字、下划线、汉字

\s

匹配任意的空白符

\b

单词的开始或结尾

\~

匹配字符串的开始

$

匹配字符串的结束

 

 

 

2 QLineEdit中的用法

2.1 对用户输入的限制

Void QLineEdit::setValidator(const QValidator *v);这个函数的意思是:令LineEdit只接收验证器v所匹配的输入,我们可以对输入的内容进行任意的限制。

2.2 检查输入是否符合格式

2.2.1QValidator的函数讲解

QValidator::State QRegExpValidator::validate(QString &input,int &pos)const;

如果输入与正则表达式相匹配,则返回Acceptable;如果部分匹配,则返回 Intermediate(部分匹配,意思是如果给它增加额外的字符则能够匹配正则表 达式);如果不匹配则返回Invalid

2.2.2实例应用

比如上面的手机号输入框,控制其不能输入英文汉字等无关字符。

switch (index) {

         case 0:

         //无限制

         validatorLineEdit->setValidator(0);

         break;

     case 1:

         //只能输入整数

         validatorLineEdit->setValidator(new QIntValidator( validatorLineEdit));

         break;

     case 2:

         //实例,只能输入-180180之间的小数,小数点后最多两位(可用于限制经纬度等)

         QDoubleValidator *pDfValidator = new QDoubleValidator(-180.0, 180.0 , 2, validatorLineEdit);

         pDfValidator->setNotation(QDoubleValidator::StandardNotation);

         validatorLineEdit->setValidator(pDfValidator);





  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值