我正在修改正则表达式以提取一组组匹配,但是这个“超级组”没有按预期返回复合匹配字符串。
要匹配的字符串的格式为:
/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 将特定子字符串与正则表达式匹配)中找到