gpt4 book ai didi

python - python中re中的findall模块

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:04 27 4
gpt4 key购买 nike

我想要得到像“abcdef@aaaa.com”这样的输出,但它只显示“com”作为匹配的表达式。如何使用 findall 获得完整的匹配表达式?

>>> 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('abcdef@aaaa.com')
['com']
>>> pat.findall('abcdef@aaaa.com bsdkbsbd@bkdjb.orgkjdd')
['com', 'org']

Required Output:-
['abcdef@aaaa.com']
['abcdef@aaaa.com', 'bsdkbsbd@bkdjb.org']

最佳答案

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

将您的正则表达式更改为:

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

这可确保没有任何组匹配,以便存储匹配的字符串而不是仅存储分组部分。

另外,我不知道你为什么要放这些逗号。我删除了它们,正则表达式仍然有效。

关于python - python中re中的findall模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16820772/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com