次の文字列について考えてみますABC
。正規表現を使用して次のグループをキャプチャしたいと思います。
Group1: AC
Group2: B
両方のグループは、単一の正規表現を使用してキャプチャする必要があります。私はコードを制御できないので、サブマッチやキャプチャグループは役に立ちません。
私は両方の非キャプチャグループと周りを見回してみました。
非キャプチャグループの場合、試合は依然として最終結果の一部です。
(?<Group1>a(?:(?<Group2>b))c)
Group1:ABC#Bは試合の一部であるため、正しくありません。グループ2:B
ルックアラウンドでは、Group2は消費されず、先読みに続く正規表現は、Group1の一部として含まれるGroup2のコンテンツと再び一致する必要があります。
(?<Group1>a(?=(?<Group2>b))bc)
Group1:ABC#Bは試合の一部であるため、正しくありません。グループ2:B
Group1の試合の一部として「B」を無視するにはどうすればよいですか?
これを回避するための助けは大歓迎です。
ありがとう、バラジ