Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 结合正则表达式进行电子邮件抓取_Python_Regex_Email - Fatal编程技术网

Python 结合正则表达式进行电子邮件抓取

Python 结合正则表达式进行电子邮件抓取,python,regex,email,Python,Regex,Email,我有两种说法: 1. \w+[\s\]在[\s\]\w+\sdot\s\w+\sdot\sedu 2. \w+[\s\]在[\s\]\w+\.\w+\.edu 第一种方法确定: cs点xyz点edu处的csk cskatcs点xyz点edu 第二个是: csk在cs.xyz.edu cskatcs.xyz.edu 如何将以上两者结合起来?我还想在其中加入@,我所做的是: \w+[\s\][/at/@][\s\]\w+\sdot\s\w+\sdot\sedu 但它不起作用。能找个人帮忙吗?我有很多

我有两种说法: 1. \w+[\s\]在[\s\]\w+\sdot\s\w+\sdot\sedu 2. \w+[\s\]在[\s\]\w+\.\w+\.edu

第一种方法确定:

cs点xyz点edu处的csk cskatcs点xyz点edu

第二个是:

csk在cs.xyz.edu cskatcs.xyz.edu

如何将以上两者结合起来?我还想在其中加入@,我所做的是:

\w+[\s\][/at/@][\s\]\w+\sdot\s\w+\sdot\sedu


但它不起作用。能找个人帮忙吗?我有很多格式要介绍,但不想明确地编写每个正则表达式

将不同的模式放在由|逻辑OR运算符分隔的非捕获组中

(\w+)[\s\(](?:at|@)[\s\)](\w+)(?:\sdot\s(\w+)\sdot\sedu|\.(\w+)\.edu)
如有必要,添加锚固件

^(\w+)[\s\(](?:at|@)[\s\)](\w+)(?:\sdot\s(\w+)\sdot\s|\.(\w+)\.)edu$
[/at/@]与您认为的不匹配。[…]表示字符集,因此该部分与单个字符/、a、t或@匹配

要匹配at或@,您需要使用:

(?:at|@)

这里有一个Python的参考。

我找到了一个不错的站点,来尝试regex-我得到的输出是:['csk','cs','xyz','csk','cs','xyz','csk','csk','csk','csk','cs','xyz','csk','csk','csk','xyz csk','cs','xyz]。如何消除空空格?我不能使用FilterOne,array,因为列表中的元素是元组。@CSK请尝试此[TupleFilterOne,I for I in lst]我用于元组中的t:if t!=:它正在工作。谢谢你的回答。