在匹配正则表达式时,我想从结果中排除非捕获组。我错误地认为默认情况下它们会被排除在外,因为它们被称为非捕获组。
但是,出于某种原因,Regex.Match 的行为就好像我什至没有指定非捕获组一样。尝试在立即窗口中运行它:
System.Text.RegularExpressions.Regex.Match("b3a",@"(?:\d)\w").Value
我预计结果是
"a"
但实际上
"3a"
这个问题建议我查看组,但结果中只有一个组,它也是“3a”。它包含一个 Capture,也是“3a”。
这里发生了什么?正则表达式是否被窃听,或者我需要设置一个选项?