gpt4 book ai didi

regex - 在 Perl 中,如何从日志文件的行中提取电子邮件地址?

转载 作者:行者123 更新时间:2023-12-01 07:40:14 25 4
gpt4 key购买 nike

我希望修剪一个字符串,该字符串将通过逐行读取文件而创建。但是我只想从字符串中提取电子邮件,但每次都会更改。唯一的内容是域,例如 @domain.com

所以对于输入字符串为

 00:00:50,004 ERROR [SynchronousCallback] Cannot process resource: test.test@domain.com  Channel: channel16

什么正则表达式会找@domain.com,把所有的test.test@domain.com都拉出来。我有一个正则表达式可以查找字符串 m/@domain.com/i 但我不知道如何在 @domain.com 被访问后操作该字符串位于整个字符串中。

我想要的输出只是电子邮件 test.test@domain.com

最佳答案

#!/usr/bin/env perl

use strict; use warnings;
use Email::Address;


while (my $line = <DATA>) {
my ($addr) = Email::Address->parse($line);
print $addr->address, "\n";
}

__DATA__
00:00:50,004 ERROR [SynchronousCallback] Cannot process resource: test.test@domain.com Channel: channel16

输出:

C:\temp> tttest.test@domain.com

关于regex - 在 Perl 中,如何从日志文件的行中提取电子邮件地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10109948/

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