2013-05-17 29 views
-1

我有一些正則表達式,我必須捕獲字符串中的所有匹配,並將它們推送到一些集合,並通過匹配遍歷做一些東西。如何獲取正則表達式的字符串中的所有匹配到一些集合

Regex regx = new Regex(@"{{\w+}}"); 

      Match m = regx.Match(str); 

      string sel = m.Value; 
      string actualProp = sel.Substring(2, sel.Length - 4); 

      str = Regex.Replace(str, actualProp, x); 

我有防爆:字符串:{{名}}是{{name.child}}

,所以我必須讓所有的兩場比賽中,以收集,我想不出如何任何變通PLZ .....

回答

0

您可以使用RegexMatches方法和遍歷這些結果,請參見本http://msdn.microsoft.com/en-us/library/e7sf90t3.aspx

[編輯] 則T O訪問比賽中groups(通過索引或命名組):

Regex regex = new Regex("pattern"); 
foreach(Match match in regex.Matches("input")) 
{ 
    string val = match.Groups[1].Value; 
    string val2 = match.Groups["group_name"].Value; 
} 
0

嘗試是這樣的:

Match m = regx.Match(str); 
    var results = new List<string>(); 
    while (m.Success) 
    { 
     results.Add(m.Value); 
     m = m.NextMatch(); 
    } 
相關問題