Python 结合正则表达式进行电子邮件抓取
我有两种说法: 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\seduPython 结合正则表达式进行电子邮件抓取,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 但它不起作用。能找个人帮忙吗?我有很多
但它不起作用。能找个人帮忙吗?我有很多格式要介绍,但不想明确地编写每个正则表达式 将不同的模式放在由|逻辑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!=:它正在工作。谢谢你的回答。