此正则表达式按预期找到四个组:
https://regex101.com/r/5dF794/1
由于有时缺少第二组,我添加了?
以使其成为可选项,但它永远找不到第二组:
https://regex101.com/r/0Jbcwy/1
为什么第二组从未被捕获,即使它确实存在?
以下是两种模式和测试文本:
^(.).* - (?:(\d+)mm - ).*\(([\d\.]+)\" x ([\d\.]+)\"\)
^(.).* - (?:(\d+)mm - )?.*\(([\d\.]+)\" x ([\d\.]+)\"\)
N251 - 8mm - 4' x 10' (49.21" x 122.05")