如何find正则expression式组的多个事件?
为什么下面的代码会导致:
有1场比赛的'''
并不是:
有3场比赛的'''
using System; using System.Text.RegularExpressions; namespace TestRegex82723223 { class Program { static void Main(string[] args) { string text = "C# is the best language there is in the world."; string search = "the"; Match match = Regex.Match(text, search); Console.WriteLine("there was {0} matches for '{1}'", match.Groups.Count, match.Value); Console.ReadLine(); } } }
string text = "C# is the best language there is in the world."; string search = "the"; MatchCollection matches = Regex.Matches(text, search); Console.WriteLine("there was {0} matches for '{1}'", matches.Count, search); Console.ReadLine();
Regex.Match(String,String)
在指定的inputstring中search指定正则expression式的第一个匹配项。
改用Regex.Matches(String,String) 。
在指定的inputstring中search指定正则expression式的所有匹配项。
Match
返回第一场比赛,看看如何获得rest。
你应该使用Matches
代替。 那么你可以使用:
MatchCollection matches = Regex.Matches(text, search); Console.WriteLine("there were {0} matches", matches.Count);
如果你想返回多个匹配,你应该使用Regex.Matches
而不是Regex.Match
。