我试图使用正则表达式与模式
匹配以下字符串中的图案重复的正则表达式字符串:
These are my variables -abc $def -geh $ijk for case1
These are my variables -lmn $opq -rst $uvw for case2
模式:
These\s+are\s+my\s+variables(?:\s*-(\w+)\s+\$(\w+))*\s+for\s+(case\d)
我能成功匹配上面的字符串与我的模式,但问题是,我无法按照我的意图赶上小组。我尝试给我的结果如下
geh, ijk, case1
rst, uvw, case2
我想要的群体输出如下
abc, def, geh, ijk, case1
lmn, opq, rst, uvw, case2
如何为这个问题进场?
不要为第一组使用'?:',因为这是不匹配的组。 –
使用PyPi正则表达式并使用相同的模式 - 您将获得'.captures(1)'和'.captures(2)'中的变量。 –
重复捕获组时,只有最后一次迭代存储在结果匹配中。如果它总是四次,请展开您的模式 - 否则您需要两步解决方案。 –