qregexp括號匹配 QT正規表示式 正則式

2021-10-13 13:21:40 字數 1543 閱讀 5030

示例:

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程式設計時,難免會用到...