python - 返回包含 python 字典中特定文本的所有值

标签 python regex

如何从列表中返回包含特定文本/字符串的所有值作为逗号分隔值?

我有一个这样的电子邮件列表:

emails = ['email@example.com',
'email1@example.com',
'email2@example.com',
'emaila@emailexample.com',
'emailb@emailexample.com',
'email33@examplex.com',
'emailas44@exampley.com',
'emailoi45@exampley.com',
'emailgh@exampley.com']

我想要做的是获取来自同一域的所有电子邮件,如下所示:

Website = 'example.com'
Email = 'email@example.com','email1@example.com','email2@example.com'

等等......

到目前为止我已经尝试过,但不知道如何实现这一目标,如果有人帮助我,那就太好了,提前致谢。

def Email(values, search):
    for i in values:
        if search in i:
            return i
    return None

data = Email(emails, 'example.com')
print(data)

最佳答案

你从来不需要正则表达式。使用列表理解,利用 str.endswith() 来查找末尾具有匹配字符的字符串:

emails = ['email@example.com',
          'email1@example.com',
          'email2@example.com',
          'emaila@emailexample.com',
          'emailb@emailexample.com',
          'email33@examplex.com',
          'emailas44@exampley.com',
          'emailoi45@exampley.com',
          'emailgh@exampley.com'] 
Website = 'example.com'

print([email for email in emails if email.endswith(f'@{Website}')])
# ['email@example.com', 'email1@example.com', 'email2@example.com']

关于python - 返回包含 python 字典中特定文本的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54911405/

相关文章:

java - 如何仅返回字符串中的数字

python - numpy.median 在屏蔽数组上的意外行为

python - pickle.load(p) 与 pickle.load(urllib.open(link)) 之间的区别

python - 将文件从一个 S3 存储桶移动到另一个最近两天更新的文件

Python:如何在仅更改特定元素时查找列表的所有组合

java - 如何检查字符串是否包含小写字母、大写字母、特殊字符和数字?

regex - 为什么 $([System.Text.RegularExpressions.Regex]::IsMatch()) 在 ItemGroupDefinition 中计算一次?

python - 如何在 eve Rest 框架中创建不区分大小写的正则表达式

python - 是否可以在 Flask-WTForms 中设置标签的一部分样式?

javascript - 正则表达式javascript拆分