Python 在一个正则表达式中执行多个单词搜索
我有话要说,男孩25E6很生气,所以他偷了女孩的一辆车,然后被cop58c9逮捕。 我想要一个正则表达式,只从男孩和女孩那里获得数字 我可以 如果重新搜索男孩[0-9,a-f]+,行或重新搜索女孩[0-9,a-f]+,行:Python 在一个正则表达式中执行多个单词搜索,python,regex,Python,Regex,我有话要说,男孩25E6很生气,所以他偷了女孩的一辆车,然后被cop58c9逮捕。 我想要一个正则表达式,只从男孩和女孩那里获得数字 我可以 如果重新搜索男孩[0-9,a-f]+,行或重新搜索女孩[0-9,a-f]+,行: 是否有办法将这两个正则表达式合并为一个?是的,您可以使用boy | girl[0-9a-f]+也许更好的方法是使用模块 在[0-9,a-f]+中不需要“,”,只需使用[0-9a-f]+。其中的A',表示它也将匹配A',如果您使用逗号,它也将匹配Boy25,e6这一术语。从[0
是否有办法将这两个正则表达式合并为一个?是的,您可以使用boy | girl[0-9a-f]+也许更好的方法是使用模块
在[0-9,a-f]+中不需要“,”,只需使用[0-9a-f]+。其中的A',表示它也将匹配A',如果您使用逗号,它也将匹配Boy25,e6这一术语。从[0-9,A-f]中删除',+您需要重新命名,否则您将无法匹配Boy25e6
>>> import re
>>> s = "Boy25e6 was angry so he stole a car from girl37b6 and was arrested by cop58c9"
>>> f = re.finditer(r'((?:boy|girl)\w+)', s, re.I)
>>> f
<callable-iterator object at 0x7fb3821e3190>
>>> for m in f:
... print m.group(1)
...
Boy25e6
girl37b6