Qt之正規表示式 QRegExp

2021-08-03 17:59:58 字數 1061 閱讀 4702

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裡對大名鼎鼎的正規表示式有很好的支援,使用qregexp類,你可以非常快的完成對文字的驗證 資料提取 替換。qt的sdk包裡還提供了regexp的gui小工具,方便你對正規表示式的驗證。本文在qt4.5.3下驗證通過。你可以使用qregexp exactmatch來判斷乙個字串是否符合乙個pat...

Qt之正規表示式 QRegExp

qt裡對大名鼎鼎的正規表示式有很好的支援,使用qregexp類,你可以非常快的完成對文字的驗證 資料提取 替換。qt的sdk包裡還提供了regexp的gui小工具,方便你對正規表示式的驗證。本文在qt4.5.3下驗證通過。你可以使用qregexp exactmatch來判斷乙個字串是否符合乙個pat...

QT 正規表示式QRegExp

qt 正規表示式qregexp sf2gis 163.com 2015年1月10日 qregexp是以perl的正規表示式為基礎發展來的。可以使用簡單的萬用字元匹配,或者純字元匹配,也可以使用正規表示式匹配。使用setpatternsyntax 可以切換不同的匹配模式。使用exactmatch 驗證...