findall模块重新在python
我想获得像“[email protected]”的输出,但它只显示“com”作为匹配的表达式。如何使用findall获得完整的匹配表达式?findall模块重新在python
>>> pat = re.compile('[a-zA-Z0-9][\w\.]{4}[\w\.]*@[a-zA-Z0-9][a-zA-Z0-9]*[.](com|co.in|org|edu)') >>> pat.findall('[email protected]')
['com']
>>> pat.findall('[email protected] [email protected]')
['com', 'org']
Required Output:-
['[email protected]']
['[email protected]', '[email protected]']
回答:
末捕获仅在最后一组括号,即com
和org
。
您正则表达式更改为:
[a-zA-Z0-9][\w\.]{4}[\w\.]*@[a-zA-Z0-9]+[.](?:com|co\.in|org|edu) ^^
这将确保没有组匹配,从而使匹配字符串存储,而不是仅仅分组的一部分。
此外,我不知道为什么你把所有这些逗号。我删除了它们,正则表达式仍在工作。
以上是 findall模块重新在python 的全部内容, 来源链接: utcz.com/qa/260867.html