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)兩個結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM