您好frame02_0046.tiff
我曾为{I} ^(.*)(\d+)([^\d]*)$
找到了以下正则表达式frame1.03.png
但是我有另一种名称frame5.03.png
到 pattern = '^(.*)(\d+)([^\d]*)$'
patternExpr = re.compile(pattern)
的模式
如何在正则表达式中我可以包含名称模式
sed
答案 0 :(得分:0)
正如在评论中发布的那样,你的正则表达式是"糟糕"为了你的目的。
您可以改用此正则表达式:
^([a-z]*?)(\d+)[_.](\d+)\.[a-z]+
<强> Working demo 强>
请注意我在上面的链接中使用的标志。
匹配信息
Match 1
Full match 0-17 `frame02_0046.tiff`
Group 1. 0-5 `frame`
Group 2. 5-7 `02`
Group 3. 8-12 `0046`
Match 2
Full match 18-31 `frame1.03.png`
Group 1. 18-23 `frame`
Group 2. 23-24 `1`
Group 3. 25-27 `03`
Match 3
Full match 32-45 `frame5.03.png`
Group 1. 32-37 `frame`
Group 2. 37-38 `5`
Group 3. 39-41 `03`