我有一个文本只包含电子邮件,但没有空间之间 每封电子邮件
例如:email1@file1.comemail2@file1.comemail3@dom1.net
我申请了re.findall(r'[\w\.-]+@[\w\.-]+', str(line))
,这就是我得到的
email1@file1.comemail
2@file1.comemail
3@dom1.net
流行的tld有.com
、.net
、.info
、.org
。因此,如果我在@[\w\.-]+
之后找到其中一个,那么我将在行中的tld之后引入一个空格,然后提取电子邮件。你知道吗
但是怎么查呢我有或.net或者。信息。。。。你知道吗
您可以使用
re.sub()
在每个tld之后添加空间。作为一个例子,我指定了.net
、.org
和.com
,但是您可以随意添加。你知道吗然后你可以应用你的正则表达式
输出
一个选项(如果你考虑了很多变化,比如.com.net等等,这会变得相当麻烦)可以是使用一个非贪婪的
+?
匹配,并列出所有允许使用alternation的选项。你知道吗Regex demo| Python demo
注意重复字符类
[\w.-]+
也会允许例如.-.-.@.-.-..com
例如
结果
相关问题 更多 >
编程相关推荐