Qt算法和正则表达式
1、QT5 常用算法
2、基本的正则表达式
使用正则表达式可以方便地完成处理字符串的一些操作,如验证、查找、替换和分割等。Qt的QRegExp类是正则表达式的表示类,它基于Perl的正则表达式语言,完全支持Unicode.
正则表达式由表达式、量词和断言组成。
(1)、最简单的表达式是一个字符。字符集可以使用表达式如"[AEIOU]",表示匹配所有的大学元音字母;使用"[ ^ AEIOU]",表示匹配所有的非元音字母,即辅音字母;连续的字符集可以使用表达式如"[a-z]",表示匹配所有的小写英文字母。
(2)、量词说明表达式出现的次数,如"x[1,2]",表示“x”可以至少有一个,至多有两个。
在计算机语言中,标识符通常要求一字母或下划线开头,后面可以说字母、数字和下划线。满足条件的标识符表示为:[A-Za-z]+[A-Za-z_0-9]*
其中,表达式中的"+“表示”[A-Za-z]“至少出现一次,可以出现多次;”*"表示[A-Za-z_0-9]可以出现零次或多次。
正则表达式的表达式如下:
例如:[A-Za-z_0-9]匹配字母数字和下划线;[ ^a-z]匹配除小写字母外的所有所有字符
正则表达式的量词如下:
例如:\b[A-Z]+[a-z_0-9]{,3}\b匹配大写字母开头一个或多个,然后最多3个小写字母或下划线或数字
正则表达式的断言如下:
例如:^ [abc] [0-9]$匹配以abc中任意一个开头,数字结尾的字符串
元字符如下:
\ba\w*\b:匹配以字母a开头的单词(\ba),然后是任意数量的字母或数字(\w *),最后是单词结束处(\b)。
\b\w{6}\b:匹配刚好6个字符的单词。
3、在QT中使用正则表达式
#include<QRegExp>
#include<QRegExpValidator>
QRegExp regexp("[A-Za-z][0-9][1-9]{0,2}");
//匹配第一个为字母,第二个为数字,接下来的0-2个为非零数字
ui->lineEdit->setValidator(new QRegExpValidator(regexp,this));
ui->okButton->setEnable(ui->lineEdit->hasAcceptableInput());
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓