私の現在のコードは次のとおりです。
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
2 つの一致を返します。
正規表現を記述して 1 つの一致のみを返すにはどうすればよいですか?