我试图只显示捕获的正则表达式组(被 () 包围的那些),但无论我尝试了什么,它都会显示捕获的和匹配的。
我正在寻找的是一种仅显示捕获的组的解决方案。
这是显示上述两个组的示例代码:
RegexOptions ignoreSpace = checkEditIgnoreSpaces.Checked ? RegexOptions.IgnorePatternWhitespace : RegexOptions.None;
RegexOptions ignorecase = checkEditIgnoreCase.Checked ? RegexOptions.IgnoreCase : RegexOptions.None;
RegexOptions multiline = checkEditMultiline.Checked ? RegexOptions.Multiline : RegexOptions.Singleline;
RegexOptions ignoreUnnamedGroups = checkEditCaptureUnnamedGroups.Checked ? RegexOptions.None : RegexOptions.ExplicitCapture;
MatchCollection mc = Regex.Matches(myRichTextBox1.Text, pattern, ignorecase | ignoreSpace | multiline | ignoreUnnamedGroups);
if (mc.Count > 0)
{
foreach (Match match in mc)
{
Console.WriteLine(match.Value);
}
}
我希望 match.Captures 仅包含捕获的组,但事实并非如此。