标签: c# regex
鉴于
var re = new Regex(@"(?<name>\w+)(x)\1\2"); Console.WriteLine(re.IsMatch("yxxy"));
打印True,显示未命名的捕获组从1开始编号,然后命名的捕获组在后面分配数字。这是正确/预期的行为吗?
True
1
答案 0 :(得分:3)
至少MSDN这么说。 http://msdn.microsoft.com/en-us/library/bs2twtah(VS.71).aspx。在本文的较新版本中,已确认,但查找此信息更加困难。 Named matched subexpressions are numbered consecutively from left to right after matched subexpressions.