0

我需要为一行中的字符串提取多个匹配项。该行看起来像这样:

./staticRoutes.10.10.30_VC;./staticRoutes.10.10.40_FEEDS

我需要提取每个文件名并将其放入某个@array 中。行上的文件名用;分隔。. 所以在上面的例子中,我只想提取staticRoutes.10.10.30_VCstaticRoutes.10.10.40_FEEDS

非常感谢任何帮助。

非常感谢

约翰

4

2 回答 2

2
my $some_string = './staticRoutes.10.10.30_VC;./staticRoutes.10.10.40_FEEDS';
my @array = split /;/, $some_string;
于 2011-12-21T08:44:01.030 回答
0

这将是正则表达式版本,它不会包含./结果中的前导。如果这是值得的,您可以使用它,否则我更喜欢拆分解决方案。

my $s = "./staticRoutes.10.10.30_VC;./staticRoutes.10.10.40_FEEDS";
my @res = $s =~ m~[^/]+(?=;|$)~g;

这将匹配任何不是 a /[^/]+部分)的字符,在 a;或字符串结尾((?=;|$)部分)之前

于 2011-12-21T08:57:11.080 回答