gpt4 book ai didi

regex - Perl 正则表达式用新行拆分

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

我是 Perl 的新手,正在为学校做一个项目,但我卡住了。

输入:一个给定的文本文件,其中包含由空格、制表符、","、";"分隔的电子邮件地址或“:” [可以在不同的行上]。

我正在尝试读取电子邮件地址并将它们放入数组中。我可以在一行上解析数据,但是如果有换行符或返回,我只会得到最后一个元素。

有人可以帮我弄清楚如何将每个地址放在单独的行上并解析它们吗?我已经阅读了一些关于正则表达式的内容,但需要更多的练习。谢谢。

open(EmailAddresses, "EmailAdressesCommaList.txt") || die "Can not open file $!";

#
while (<EmailAddresses>)
{
chomp;
# Split the line into words
@lines = split /[ ,;:\t\r\n(\t\r\n\s)+?]/;
}

foreach $value (@lines)
{
print $value . "\n";
}

最佳答案

open(EmailAddresses, "EmailAdressesCommaList.txt") || die "Can not open file $!";
while(<EmailAddresses>) {
chomp;
push @lines, split /[ ,;:\t\r\n(\t\r\n\s)+?]/;
}
foreach $value (@lines) {
print $value . "\n";
}

即问题不在于您的正则表达式,而在于您每次通过循环都覆盖@lines。

关于regex - Perl 正则表达式用新行拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/674897/

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