受到一个现在已经删除的问题的启发; 给定一个带有命名组的正则表达式,是否存在一个类似于 findall
的方法,它返回一个带有命名捕获组的 dict
列表,而不是一个 tuple
列表?
给出:
>>> import re
>>> text = "bob sue jon richard harry"
>>> pat = re.compile('(?P<name>[a-z]+)\s+(?P<name2>[a-z]+)')
>>> pat.findall(text)
[('bob', 'sue'), ('jon', 'richard')]
相反,应该给予:
[{'name': 'bob', 'name2': 'sue'}, {'name': 'jon', 'name2': 'richard'}]