我有一个文本文件,里面有一些名字、电子邮件和其他东西。我想捕获电子邮件地址。在
我不知道这是分割问题还是正则表达式问题。在
以下是一些采样线:
[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
我想做一个循环,打印所有的电子邮件地址。在
谢谢。在
您可以将子字符串传递给
split
,而不仅仅是单个字符,因此:与简单的
split
解决方案相比,它有一个优势,即它可以在值中包含空格的字段上工作,也可以在顺序不同的行上工作(即使它们的最后一个字段是[email]
),等等概括起来:
^{pr2}$然而,我认为它仍然比正则表达式解决方案复杂。另外,它一次只能搜索一个字段,而不是一次搜索所有字段(不会使它变得更复杂)。要获得两个字段,您将对每行进行两次解析,如下所示:
(当然,我可能误解了DOB字段。)
我会用正则表达式:
\[
的字面意思是[
。在(.*?)
是一个非贪婪的捕获组。它“扩展”以捕获文本。在\]
的字面意思是{(
是捕获组的开始。在[^\[]
只匹配[
。在+
重复最后一个模式任意次数。在)
关闭捕获组。在相关问题 更多 >
编程相关推荐