0

キャプチャされた正規表現グループ (() で囲まれたもの)のみを表示しようとしていますが、何を試しても、キャプチャされたものと一致したものの両方が表示されます。

私が探しているのは、キャプチャされたグループのみを表示するソリューションです。

これは、上記の両方のグループを表示するサンプル コードです。

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 には、キャプチャされたグループのみが含まれることを望んでいましたが、そうではありません。

4

1 に答える 1

1

これを試して

match.Groups[1].Value;

ソース

于 2012-08-27T21:09:16.993 に答える