グループ一致のグループを抽出するために正規表現を変更していますが、この「スーパーグループ」は複合一致文字列を期待どおりに返しません。
照合する文字列は次の形式です。
/DIR/SOMESTRING-W0.12+345.raw.gz
と私が使用している正規表現:
/DIR/
(?P<super>
(?P<name>.*?)
(?=(?P<modifier>-W\d\.\d{2}[+-]\d{3})?\.(?P<extension>raw\.gz|root)$)
)
名前付きグループについて次の結果が得られます。
modifier: '-W0.12+345'
super: 'SOMESTRING'
name: 'SOMESTRING'
extension: 'raw.gz'
期待している間に
super: 'SOMESTRING-W0.12+345.raw.gz'
サブグループのグループ化は常に機能していましたが、今回は機能しませんでした。その理由がわかりません。
誰かが私にヒントをくれることを願っています。
注: この正規表現の説明は ( awk を使用して特定の部分文字列を正規表現と照合する)にあります。