0
我当前的代码正则表达式为:如何做出不重复先行
const string st = "one two";
const string reg = "((?<first>one))?(?=(?<second>two))";
var result = Regex.Matches(st, reg, RegexOptions.IgnoreCase);
Console.WriteLn(result.Count);
foreach (Match match in result)
{
Console.WriteLine("first={0}, second={1}", match.Groups["first"], match.Groups["second"]);
}
输出是:
2
first=one , second=two
first=, second=two
返回两场比赛。
我如何写正则表达式返回只有一个匹配?
你应该提供更多的例子和你的期望。我不清楚你想达到什么目的。第二组是否也是可选的,或者它总是在那里,当有第一组时? – stema 2012-08-09 12:02:10
感谢STEMA,但第一组是可选的我。“两”也是可能的 – user1587174 2012-08-09 12:02:31
没有,第二组没有optional.i只想首次这一前瞻运行,并继续而不是回溯到“两节” – user1587174 2012-08-09 12:03:33