有一个字符串:
str = 'Please Contact Prof. Zheng Zhao: <a href="mailto:zheng.z@xxx.com">Zheng.Z@xxx.com</a> for details, or our HR: john.will@xxx.com'
Run Code Online (Sandbox Code Playgroud)
我想解析该字符串中的所有电子邮件,所以我设置:
p = r'[\w\.]+@[\w\.]+'
re.findall(p, str)
Run Code Online (Sandbox Code Playgroud)
结果是:
['zheng.z@xxx.com', 'Zheng.Z@xxx.com', 'john.will@xxx.com']
Run Code Online (Sandbox Code Playgroud)
显然,第一个和第二个是重复的。我们如何防止这种情况发生?
您可以使用 删除重复项set。Aset就像一个无序的list,不能包含重复项。在这种情况下,您不关心大小写,因此将结果设置为小写可以让您正确检查重复项。
import re
s = 'Please Contact Prof. Zheng Zhao: <a href="mailto:zheng.z@xxx.com">Zheng.Z@xxx.com</a> for details, or our HR: john.will@xxx.com'
p = r'[\w\.]+@[\w\.]+'
list(set(result.lower() for result in re.findall(p, s)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2602 次 |
| 最近记录: |