Qt之正規表示式

2021-08-11 14:23:06 字數 1050 閱讀 8388

qt裡對大名鼎鼎的正規表示式有很好的支援,使用qregexp類,你可以非常快的完成對文字的驗證、資料提取、替換。qt的sdk包裡還提供了regexp的gui小工具,方便你對正規表示式的驗證。

本文在qt4.5.3下驗證通過。

你可以使用qregexp::exactmatch來判斷乙個字串是否符合乙個pattern。 

void

testregexmatch()

你可以利用利用正規表示式從乙個字串裡提取特定的字段或資料。例如,你可以用以下**從"a=100"裡提取"a"和"100"。

void

testregexcapture()

}你可以把字串中匹配的字串替換成"一般字串"

qstring s ="

a=100";

s.replace(qregexp(

"(.*)=

"), "b=

");qdebug() 

<<

s;                          

//b=100

或是把字串中匹配的字串替換"提取的字串"

qstring s ="

a=100";

s.replace(qregexp(

"(.*)=(.*)

"), 

"\\1\\2=\\2

");  

//\1 is rx.cap(1), \2 is rx.cap(2)

qdebug() 

<<

s;                                  

//a100=100

沒有python的"""或是c#的@。標準的正規表示式因為出現一些特殊字元,在c/c++**裡使用時,必須進行轉換。例如:"(\s+)\s*=\s*(\s*)"必須轉換成"(\\s+)\\s*=\\s*(\\s*)"

qt的sdk裡包含乙個很幫的gui工具,可以方便我們進行這類轉換並測試你的表示式。在linux下,它的路徑是/usr/local/trolltech/qt-4.5.3/examples/tools/regexp/regexp

qt之正規表示式

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

qt之正規表示式

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

Qt之正規表示式

在用寫程式的時候,往往會用到正規表示式,不僅僅是web開發,mfc gtk qt開發的圖形介面也是如此,只要了解其原理,語法也都大相徑庭!0 lineedit非大寫輸入時,顯示 no mathch qregexp passwdreg a z if passwdreg.exactmatch pwded...