没问题:
>>> regex = "([^-]*-)(?=([^-]*))"
>>> for result in re.finditer(regex, "foo-foobar-foobaz"):
>>> print("".join(result.groups()))
foo-foobar
foobar-foobaz
通过将第二个捕获括号放入前瞻断言中,可以捕获其内容,而无需在整体匹配中使用它。
我还使用了[^-]*
而不是.*
因为点也与-
您可能不想要的分隔符匹配。
获取正则表达式的所有可能匹配项(在python中)?
没问题:
>>> regex = "([^-]*-)(?=([^-]*))"
>>> for result in re.finditer(regex, "foo-foobar-foobaz"):
>>> print("".join(result.groups()))
foo-foobar
foobar-foobaz
通过将第二个捕获括号放入前瞻断言中,可以捕获其内容,而无需在整体匹配中使用它。
我还使用了[^-]*
而不是.*
因为点也与-
您可能不想要的分隔符匹配。