【问题标题】:Extracting part of the email address by using Python regular expression使用 Python 正则表达式提取部分电子邮件地址
【发布时间】:2020-07-14 07:54:40
【问题描述】:

我有以下字符串:

'iamgood@yahoo.com, cc.a@est.gov.cn, j_193@ywuancjds.com, super.hard.bb@ililsa.bi'

我要提取com, gov, com, bi

我写了(?<=@)\w+ 正则表达式,但结果是提取了yahoo,est,ywuancjds,ililsa。 我不知道如何包含@背后的词汇。

【问题讨论】:

  • 关于est.gov.cn -> gov。您是否也希望 a.b.c.d 也只返回 c

标签: python regex email


【解决方案1】:

你可以使用

re.findall(r'@[^\s.]+\.(\w+)', text)

查看regex demoPython demo

详情

  • @ - 一个 @ 字符
  • [^\s.]+ - 除空格和点之外的 1 个或多个字符
  • \. - 一个点
  • (\w+) - 第 1 组(该组中捕获的值将仅由 re.findall 返回):一个或多个单词字符。

Python 演示 sn-p:

import re
text = "iamgood@yahoo.com, cc.a@est.gov.cn, j_193@ywuancjds.com, super.hard.bb@ililsa.bi"
print( re.findall(r"@[^\s.]+\.(\w+)", text) )
# => ['com', 'gov', 'com', 'bi']

【讨论】:

  • 我也想知道如果我只想要以奇数顺序排列的电子邮件地址,我该怎么写呢?
  • @user13196723 抱歉,不确定您的意思。
猜你喜欢
  • 2013-02-19
  • 2011-10-14
  • 2016-04-28
  • 1970-01-01
  • 2011-05-20
  • 2016-02-24
  • 1970-01-01
  • 1970-01-01
  • 2018-12-04
相关资源
最近更新 更多