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]']

回答:

末捕获仅在最后一组括号,即comorg

您正则表达式更改为:

[a-zA-Z0-9][\w\.]{4}[\w\.]*@[a-zA-Z0-9]+[.](?:com|co\.in|org|edu) 

^^

这将确保没有组匹配,从而使匹配字符串存储,而不是仅仅分组的一部分。

此外,我不知道为什么你把所有这些逗号。我删除了它们,正则表达式仍在工作。

以上是 findall模块重新在python 的全部内容, 来源链接: utcz.com/qa/260867.html

回到顶部