目前这个正则表达式返回一个匹配:
最好的语言 世界和最快的语言
如何让它返回两场比赛:
最好的语言
最快的语言
string text = "C# is the best language in the world and the fastest language in the world";
string search = @"\bthe\b.*\blanguage\b";
MatchCollection matches = Regex.Matches(text, search);
Console.WriteLine("{0} matches", matches.Count);
foreach (Match match in matches)
{
Console.WriteLine("match '{0}' was found at index {1}", match.Value, match.Index);
}
Console.WriteLine("---");
答案 0 :(得分:4)
在?
*
答案 1 :(得分:3)
试试这个:
\bthe\b(?:(?!\bthe\b).)*\blanguage\b
它使用负前瞻断言来要求在匹配的“the”和“language”之间不再看到“the”。
答案 2 :(得分:0)
这符合您的要求
/the (?:best|fastest) language/g