Qt 正規表示式

2021-08-20 07:45:59 字數 1644 閱讀 6752

1.

qregexp exp(「ab+」); //ab,abb…

qregexp exp(「\d」); //一位數字

qregexp exp(「[x-zx-z]」);//xyz之間的一位(不區分大小寫)。

qregexp exp(「[2-6]」);//2-6之間的一位數字

qregexp exp(「[0-9]」);//(0-999)

qregexp exp(「[0-9][.][0-9]」);//一位整數,最多三位小數;

qregexp exp(「0|[1-9]\d」);

ui.lineedit->setvalidator(new qregexpvalidator(regexp, this));// 0-99999;

ui.lineedit->setvalidator(new qregexpvalidator(regexp, this));

ui.lineedit->setvalidator(new qintvalidator(1, 56, this)); //1-56之間的小數

ui.lineedit->setvalidator(new qdoublevalidator(0,180.0,3,this));//0-180,三位小數(只能限制小數字數)

2. 一些不便書寫的字元,採用在前面加 「/」 的方法。

/r,/n,/t; // :代表/本身;

/.:代表.本身;

「\d」 可以匹配任意乙個數字。

「\w」: 任意乙個字母或數字或下劃線,也就是 a~z,a~z,0~9,_ 中任意乙個

「.」:小數點可以匹配除了換行符(/n)以外的任意乙個字元

[f-k]:匹配 「f」~」k」 之間的任意乙個字母

[^a-f0-3] :匹配 「a」~」f」,」0」~」3」 之外的任意乙個字元

3. 修飾匹配次數的特殊符號

表示式 作用

表示式重複n次,比如:」/w」 相當於 「/w/w」;」a」 相當於 「aaaaa」

表示式至少重複m次,最多重複n次,比如:」ba」可以匹配 「ba」或」baa」或」baaa」

表示式至少重複m次,比如:」/w/d」可以匹配 「a12」,」_456」,」m12344」…

? 匹配表示式0次或者1次,相當於 ,比如:」a[cd]?」可以匹配 「a」,」ac」,」ad」

+ 表示式至少出現1次,相當於 ,比如:」a+b」可以匹配 「ab」,」aab」,」aaab」…

* 表示式不出現或出現任意次,相當於 ,比如:」/^*b」可以匹配 「b」,」^^^b」…

4. ^-?(90|[1-8]?\d(.\d)?)$

式子中開頭的^和結尾的$限定字串的開始和結尾;

「-?」 表示乙個或0個負號,這裡面的問號表示其前面的字元重複0次或1次;

管道符「|」表示平行分組,比如後三個,表示180或其它形式;

[1-9] 表示限定數字範圍為1到9,其餘類似,如果是有限幾個值,還可以用列舉的方式,比如限定-255到255時,第乙個數字2的限定,應該表達為[1,2],這表示這個位置只允許是1或者2;

「\d」是乙個轉義字元,表示匹配一位數字;

「.」 表示匹配小數點;

「\d+」,這裡面的+表示其前面的\d重複一次或多次;

「\d」,裡面的表示重複1到4次;

Qt 正規表示式

qregexp是qt的正規表示式類.qt中有兩個不同類的正規表示式.第一類為元字元.它表示乙個或多個常量表示式.令一類為 轉義字元,它代表乙個特殊字元.一.元字元 匹配任意單個字元.例如,1.3 可能是1.後面跟任意字元,再跟3 匹配字串首.例如,12可能是123,但不能是312 配字串尾.例如,1...

QT 正規表示式

正規表示式 編寫程式的時候,注意雙層轉義字元解析,有兩次轉義字元解析 see also 上述網頁講述了正規表示式的規則,但實際使用時要注意每個 符號前面要 重複加乙個 見18行 int main int argc,char argv pos will be 9,14,18 and finally 2...

Qt正規表示式

20201016 舉例 字符集 aeiou 表示匹配所有的大寫母音字母 字符集 aeiou 表示匹配所有的非母音字母,即子音字母 連續字符集 a z 表示匹配所有的小寫英文本母 正規表示式的量詞 quantifiers 量詞含義 量詞含義e?匹配0次或1次 e n,至少匹配n次e 匹配1次或多次 e...