我試圖只顯示捕獲的正則表達式組(被()包圍的那些組),但無論我嘗試過它顯示捕獲的和匹配的。僅顯示捕獲的組
我在尋找的是隻顯示捕獲組的解決方案。
這是一個示例代碼示出兩組如上所述:
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將只包含所拍攝的基團由並非如此。
僅供參考,'Multiline'和'Singleline'選擇不是相互排斥的,因爲你似乎認爲。他們甚至沒有連接。 'Multiline'改變錨點的行爲('^'和'$'),'Singleline'改變點的行爲('.')。這些名字很混亂,它們提到的匹配模式從來都不應該存在,但我們一直堅持着它們。 –