2012-10-22 100 views

回答

0

嘗試如下

string strInput = "YourString"; 

Regex regex = new Regex("Your Regex to match"); 
var m = regex.Match(strInput); 
if (m.Success) 
     { 
      foreach (var matches in regex.Matches(strInput)) 
      { 
       if (m.Success) 
       { 
        Console.WriteLine(m.Index); 
       } 

       m = m.NextMatch(); 
      } 
     } 
+0

match.index返回一個Int,它對應給定文本中匹配字符串的索引..我已經解決了這個問題通過聲明一個變量並讓它在循環中迭代。不管怎麼說,還是要謝謝你 :) – lexeRoy

0

的Match.Index將返回原始字符串匹配項目的第一個字符的位置。

MatchCollection只實現ICollection接口,並沒有實現IList,所以我認爲它不可能直接從一個項目的matchcollection檢索索引。你可以使用Collection.CopyTo將它移動到一個數組。

http://msdn.microsoft.com/en-us/library/gg695671.aspx

陣確實有一個IndexOf,您可以使用檢索索引回來。