我对此感到困惑:
>>> import re
>>> re.match(r"(?P<all>-(?P<one>\w+))*","-ab-cde-fghi-jkl-mn").groups()
('-mn', 'mn')
>>> re.match(r"(?P<all>-(?P<one>\w+)*)","-ab-cde-fghi-jkl-mn").groups()
('-ab', 'ab')
我如何获取所有术语列表,最好像这样:
["ab","cde","fghi","jkl","mn"]
但是
"-ab-cde-fghi-jkl-mn"
也可以。
(请注意,我完全知道str.split("-")
。这是一个关于re
的问题 - 如何匹配整个集合)
match
的文档表示:“如果字符串开头的零个或多个字符与正则表达式模式匹配,则返回相应的匹配对象。” 因此只期望一个匹配,其中包含两个组。 - Mad Physicist.captures
访问所有组。 - Wiktor Stribiżew