gpt4 book ai didi

perl - 基于第二个数组从数组中删除元素

转载 作者:行者123 更新时间:2023-12-05 00:32:21 24 4
gpt4 key购买 nike

我有一个数组中的文件名前缀列表 @list1以及第二个数组中的完整文件名列表 @list2 .最后,我想得到第三个数组,只包含与 @list1 中的前缀不匹配的完整文件名。 .我已经开始:

for my $match (@list1) {
@list3 = grep { !/$match/ } @list2;
}

但它没有做我认为它会做的事情。我有什么选择才能得到我正在寻找的结果。

最佳答案

也许交替正则表达式会有所帮助:

use strict;
use warnings;

my @list1 = qw/a.f c data g j/;
my @list2 = qw/myfile.txt a.file.txt data.txt otherfile.txt jargon.txt/;

my $regex = join '|', map "\Q$_\E", @list1;

my @list3 = grep !/^(?:$regex)/, @list2;

print "$_\n" for @list3;

输出:
myfile.txt
otherfile.txt

关于perl - 基于第二个数组从数组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13463738/

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