2012-10-17 68 views
0

我想編寫簡單的正則表達式使用Qt QRegExpQt和正則表達式

我想table(i, d)獲取爲QString的所有子,不帶引號,用i「硬寫」和d代表任意整數。然後使用上限,檢索d的值。我建議

qREgExp reg ("table(i,\\s*(\\d+)\\s*)") ; 

我cherrish希望再

reg.cap(2) 

讓我有問題的d這裏。

你會怎麼說呢?

回答

2

嘗試使用

qREgExp reg ("\\btable\\(i,\\s*(\\d+)\\s*\\)"); 

reg.cap(1) 
+1

沒錯。表「調用」上的括號不會被轉義,然後將它們解析爲正則表達式的運算符。轉義它們使它們成爲文本的一部分以匹配。 – Spidey

+0

@Spidey謝謝!那麼''\\ btable \\(i,\\ s *(\\。+)\\ s * \\)「'應該匹配data(i,1),不是嗎?不是這樣。 – octoback

+0

@Spidey也許這樣比較好''\\ btable \\(i,\\ s *(。+)\\ s * \\)「'!?這是匹配,但我無法檢索。與第 – octoback