2

グループ内にグループがある場合、このような正規表現を使用できますか? もしそうなら、.NET ではどちらがグループ 1 で、どちらがグループ 2 ですか?

^(abc(def))$
4

1 に答える 1

2

(左から右に読み取られるように) 最初に開始するグループには、常に小さい番号1が付けられます。この場合、「外側」のグループは #1 で、「内側」のグループは #2 です。

混乱を避けるために、名前付き一致部分式 (別名、名前付きグループ) の使用を検討してください - 少なくともより複雑なケースでは:

^(?<outer>abc(?<inner>def))$

1 MSDNの文言:

括弧を使用するキャプチャには、正規表現の開き括弧の順序に基づいて、左から右に 1 から始まる番号が自動的に付けられます。

于 2013-03-30T02:04:44.463 に答える