示例:
qregexp regusername("[0-9,a-z,a-z]");
qregexp regpassword("[0-9]");
ui->login_user->setvalidator(new qregexpvalidator(regusername, this));
ui->login_pass->setvalidator(new qregexpvalidator(regpassword, this));
qregexp digitalnumabc;
digitalnumabc.setpattern("[a-za-z0-9]");
qvalidator *account = new qregexpvalidator(digitalnumabc, this);
ui->ytk1011->setvalidator(account);
ui->ytk1014->setvalidator(account);
qregexp是qt的正規表示式類.
qt中有兩個不同類的正規表示式.
第一類為元字元.它表示乙個或多個常量表示式.
令一類為 轉義字元,它代表乙個特殊字元.
一.元字元
. 匹配任意單個字元.例如, 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
二.統配模式
通過 qregexp::setpatternsyntax(qregexp::wildcard);可以將元字元設定為統配模式.在統配模式下,只有3個元字 符可以使用.他們的功能沒有變化.
? 匹配任意單個字元, 例如, 1?2可以為1,後面跟任意單個字元, 再跟2
* 匹配任意乙個字串行. 例如, 1*2, 可以為1, 後面跟任意數量的字元, 再跟乙個2
匹配乙個定義的字元集合. 例如, [a-za-z\.]可以匹配 a到z之間任意乙個字元和. [^a]匹配出小寫a以外的字元.
三.轉義序列
\. 匹配」.」
\^ 匹配」^」
\$ 匹配」$」
\[ 匹配"["
\] 匹配」]」
\* 匹配」*」
\+ 匹配」+」
\? 匹配」?」
\b 匹配響鈴字元,使計算機發出嘟的一聲.
\t 製表符號
\n 換行符號
\r 回車符鉿
\s 任意空格
\xnn 匹配16進製為nn的字元
\0nn 匹配8進製的nn字元
這些表示式均以\開始, 與c++的轉義字元相同,所以為了定義qregexp中的乙個轉義序列,
需要在前面新增兩個\\
qregexp括號匹配 QRegExp
mac位址的正規表示式 d d 值型別正規表示式 qregexp是qt的正規表示式類.qt中有兩個不同類的正規表示式.第一類為元字元.它表示乙個或多個常量表示式.令一類為 轉義字元,它代表乙個特殊字元.一.元字元 匹配任意單個字元.例如,1.3 可能是1.後面跟任意字元,再跟3 匹配字串首.例如,1...
QT 正規表示式QRegExp
qt 正規表示式qregexp sf2gis 163.com 2015年1月10日 qregexp是以perl的正規表示式為基礎發展來的。可以使用簡單的萬用字元匹配,或者純字元匹配,也可以使用正規表示式匹配。使用setpatternsyntax 可以切換不同的匹配模式。使用exactmatch 驗證...
Qt 正則匹配
比如qstring str 123你好456你好 我們要從這個str中提取出 123456 qstring str 123你好456你好 qstring tmp for intj 0 j str.length j 這樣tmp中存放的就是 123456 在使用qt creator程式設計時,難免會用到...