利用Match類和MatchCollection類,可以獲得通過一個正則表達式實現的每一個匹配的細節。
Match表示一次匹配,而MatchCollection類是一個Match對象的集合,其中的每一個對象都表示了一次成功的匹配。
1、Match()方法
Match()方法總是獲取滿足條件的第一個匹配,而不關心滿足條件的匹配有多少個。
Match()方法都回一個Match對象,其中包含了匹配的各種細節。
一般,當我們確定只有一個符合條件的匹配或只需要第一個符合條件的匹配時,可以使用Match()。
示例:
1 // 要匹配的字符串內容 2 string content="(dfs45545)][(dkjsdjf63)"; 3 // 正則表達式 4 string RegexStr = @"\(.*?\)"; 5 // 使用Match()匹配 6 Match m=Regex.Match(content, RegexStr); 7 // 結果:(dfs45545)
2、Matches()方法
Matches()方法可以得到MathCollection對象的一個集合。這個集合類中包含每一次正則表達式匹配的Match對象。
一般,當我們需要獲取所有符合條件的匹配結果時,可以使用Matches()。
示例:
1 // 要匹配的字符串內容 2 string content="(dfs45545)][(dkjsdjf63)"; 3 // 正則表達式 4 string RegexStr = @"\(.*?\)"; 5 // 使用Matches()匹配 6 MatchCollection mc = Regex.Matches(content, RegexStr); 7 foreach (Match m in mc) 8 { 9 Console.WriteLine(m.Value); 10 } 11 // 結果:將輸出(dfs45545)和(dkjsdjf63)兩個結果