python - 匹配单个字符串中的许多模式
问题描述
我正在尝试找到与所有模式匹配的字符串。
代码:
import re
mail_li = ['lokesh.g@uni-passau.de',
'lokesh dot gat uni-passau dot de',
'lokesg.g(at)uni-passau.de',
'lokesh.g(at) uni-passau.de',
'onefullword@gw.uni-passau.de',
'lokesh(dot) g(at) uni-passau (dot) de',
'@laskdjak']
regex = r"(de$)(@)"
for i in mail_li:
if(re.findall(regex,i)):
print(i)
我想检查所有条件,例如:
@ 符号或 at 或 (at)
点或 .de
德在最后
我试图编写正则表达式,但它不能正常工作。有人可以帮忙吗?
解决方案
以下正则表达式将匹配:
@
或者(at)
dot
或者.
de
最后没有空格的文本
^(?=.*?\b(?:@|\(at\))\b)(?=.*?\b(?:\.|dot)\b).*(?<=de)$
然而,这个正则表达式也将匹配email@un.passde
这是不希望的。因此,如果我们将要求修改为:
@
或者(at)
(dot)de
或.de
最后没有空格的文本
我们得到正则表达式:
推荐阅读
- r - 更改数据框列表中的一列并使用应用函数保留 changde 数据框而不是更改输出
- c# - 在 WebBrowser 控件中获取 HtmlElement 的当前/计算样式
- python - Firebase 云消息传递 HTTP v1 发送错误 - 400 客户端错误:对 url 的错误请求:https://fcm.googleapis.com/v1/projects/
/消息:发送 - javascript - 如何以 100% 全宽嵌入 YouTube iframe 视频
- excel - 当我尝试打开宏时 Excel 关闭
- php - 如何使用 php 进行多选选项?
- scala - 播放框架返回 404,带有 play.http.context 和斜杠
- python - 用线连接抖动的数据点 - seaborn python
- reactjs - 如何使用屏蔽输入添加 antd datepicker
- java - `Thread.checkAccess()` 是 `Thread.suspend()` 的合适替代品吗?