qt的sdk裡包含乙個很幫的gui工具,可以方便我們進行這類轉換並測試你的表示式。可以按照如下的方式開啟:「開始」->「程式」->「qt sdk by nokia v2010.02.1 (open source)」->「qtdemo」->「tools」->「regularexpression」可以選擇「launch」啟動程式,亦可以「documentation」檢視原始檔。
如程式中建立的匹配節點重啟的正規表示式qregexp regexp(「taskctll」);就是以taskctll為表示式進行匹配。
如程式中建立的匹配第一父節點的餓正規表示式qregexp regexpparent(「parent\\[0\\]\\s+\\-(\\d+)\\b」);
程式中只需要匹配一次(文字檔案中每一行只有乙個不重複的str),只要匹配成功返回值不是-1,就對資訊進行提取儲存
qt裡的正規表示式和c++裡面的有些差別,例如\\.表示. \\d表示d
程式例項:
匹配時鐘跳變
2011/06/27 22:05:42.011 parent[1] -1
2011/06/27 22:05:42.011 local time 2d5820d
」:(\\d+)\\.(\\d+)\\s+(\\w*\\s*\\w*\\s*\\d*\\,\\s*)*(\\w*\\s*)*(parent\\[[01]\\]\\s+\\-\\d+)*(\\w*\\d*\\.\\d*\\w*\\s*\\d*)*local\\s+time」
匹配第一父節點
2011/06/27 22:05:42.011 parent[0] 6003
「parent\\[0\\]\\s+\\-(\\d+)\\b」
匹配節點號
2011/06/27 22:26:30.090 mac neigh 0, addr 100
「mac\\s+neigh\\s+0\\,\\s+addr\\s+(\\d+)\\b」
根節點收到資料
2011/06/27 22:07:45.058 root receive data origin 52 100
「root\\s+receive\\s+\\dada\\s+\\origin\\s+(\\d+)\\s+(\\d+)\\b」
常用正規表示式
表示式說明\r, \n
代表回車和換行符
\t製表符
\\代表 「\」 本身
\^匹配 ^ 符號本身
$匹配 $ 符號本身
元字元說明.
匹配除了換行符以外的任意字元
\w匹配字母、數字、下劃線、漢字
\s匹配任意的空白符
\b單詞的開始或結尾
\~匹配字串的開始
$匹配字串的結束
如:\ba\w*\b :匹配以字母a開頭的單詞——先是某個單詞開始處(\b),然後是字母a,然後是任意數量的字母或數字(\w*),最後是單詞結束處(\b)。
\b\w\b: 匹配剛好6個字元的單詞。
表示式說明
[ ]包含一系列字元
[^ ]
包含之外一系列字元
[ab5@]: 匹配 「a」 或 「b」 或 「5」 或 「@」
[^abc]: 包含abc之外的任意字元
[f-k]: f-k之間的任意字元
表示式說明
表示式重複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」…*前面的字元出現的次數任意
QRegExp正規表示式
qregexp正規表示式 d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d d 0 ...
QT 正規表示式QRegExp
qt 正規表示式qregexp sf2gis 163.com 2015年1月10日 qregexp是以perl的正規表示式為基礎發展來的。可以使用簡單的萬用字元匹配,或者純字元匹配,也可以使用正規表示式匹配。使用setpatternsyntax 可以切換不同的匹配模式。使用exactmatch 驗證...
QRegExp正規表示式用法
原文 d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d d 0 0 非正浮點數 負浮...