グループ内にグループがある場合、このような正規表現を使用できますか? もしそうなら、.NET ではどちらがグループ 1 で、どちらがグループ 2 ですか?
^(abc(def))$
(左から右に読み取られるように) 最初に開始するグループには、常に小さい番号1が付けられます。この場合、「外側」のグループは #1 で、「内側」のグループは #2 です。
混乱を避けるために、名前付き一致部分式 (別名、名前付きグループ) の使用を検討してください - 少なくともより複雑なケースでは:
^(?<outer>abc(?<inner>def))$
1 MSDNの文言:
括弧を使用するキャプチャには、正規表現の開き括弧の順序に基づいて、左から右に 1 から始まる番号が自動的に付けられます。