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...