1. 程式人生 > 其它 >C#中Regex物件的Match()方法和Matches()方法的區別

C#中Regex物件的Match()方法和Matches()方法的區別

利用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)兩個結果
*********************************** 願 你 有 前 進 一 寸 的 勇 氣 , 亦 有 後 退 一 尺 的 從 容 。 *********************************** *********************************** 請尊重作者的勞動成果,轉載請註明出處。 ***********************************