gpt4 book ai didi

Python - 试图捕获一行、正则表达式或拆分的中间

转载 作者:行者123 更新时间:2023-11-28 20:48:39 25 4
gpt4 key购买 nike

我有一个包含一些姓名、电子邮件和其他内容的文本文件。我想捕获电子邮件地址。

我不知道这是拆分问题还是正则表达式问题。

以下是一些示例行:

[name]bill billy [email]bill.billy@hotmail.com [dob]01.01.81
[name]mark hilly [email]mark.hilly@hotmail.com [dob]02.11.80
[name]gill silly [email]gill.silly@hotmail.com [dob]03.12.79

我希望能够执行一个打印所有电子邮件地址的循环。

谢谢。

最佳答案

我会使用正则表达式:

import re

data = '''[name]bill billy [email]bill.billy@hotmail.com [dob]01.01.81
[name]mark hilly [email]mark.hilly@hotmail.com [dob]02.11.80
[name]gill silly [email]gill.silly@hotmail.com [dob]03.12.79'''

group_matcher = re.compile(r'\[(.*?)\]([^\[]+)')

for line in data.split('\n'):
o = dict(group_matcher.findall(line))
print o['email']
  • \[ 字面意思是 [
  • (.*?) 是一个非贪婪捕获组。它“扩展”以捕获文本。
  • \] 字面意思是 ]
  • ( 是捕获组的开始。
  • [^\[] 匹配除 [ 之外的任何内容。
  • + 重复最后一个模式任意次数。
  • ) 关闭捕获组。

关于Python - 试图捕获一行、正则表达式或拆分的中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16491026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com