2011-08-13 37 views
0

需要Regex幫助。假設我有以下文字:正則表達式。繼續匹配

* 1 FETCH (UID 1 FLAGS (\\Flag1 \\Flag2 \\Flag3 ....) 

是否可以提取所有標誌?所以一個匹配(.NET)將包含組Flag1,Flag2,Flag3。

我可以使用

FLAGS \((?<flags>.*?\) 

得到\\Flag1 \\Flag2 \\Flag3 ....,這是接近,但也不能令人信服。

+0

對不起似乎無法編輯自己的帖子。正在使用的正則表達式是FLAGS \((??。*?) – Umair

回答

1

試試這個(測試在線):

((?<flags>\\\\.*?)\s) 

更新:這應該擺脫支架的中底:

(?<flags>\\\\.*?)(\s|\)) 
+0

這似乎只得到「Flag1」。是否有可能告訴正則表達式引擎繼續搜索? – Umair

+0

它應該給幾個組(但我看到在最後的額外支架......) – alxx

+1

@Umair,使用匹配組的「Captures」屬性迭代組匹配的所有子串。 – harpo