我需要为一行中的字符串提取多个匹配项。该行看起来像这样:
./staticRoutes.10.10.30_VC;./staticRoutes.10.10.40_FEEDS
我需要提取每个文件名并将其放入某个@array 中。行上的文件名用;分隔。. 所以在上面的例子中,我只想提取staticRoutes.10.10.30_VC和staticRoutes.10.10.40_FEEDS
非常感谢任何帮助。
非常感谢
约翰
我需要为一行中的字符串提取多个匹配项。该行看起来像这样:
./staticRoutes.10.10.30_VC;./staticRoutes.10.10.40_FEEDS
我需要提取每个文件名并将其放入某个@array 中。行上的文件名用;分隔。. 所以在上面的例子中,我只想提取staticRoutes.10.10.30_VC和staticRoutes.10.10.40_FEEDS
非常感谢任何帮助。
非常感谢
约翰
my $some_string = './staticRoutes.10.10.30_VC;./staticRoutes.10.10.40_FEEDS';
my @array = split /;/, $some_string;
这将是正则表达式版本,它不会包含./
结果中的前导。如果这是值得的,您可以使用它,否则我更喜欢拆分解决方案。
my $s = "./staticRoutes.10.10.30_VC;./staticRoutes.10.10.40_FEEDS";
my @res = $s =~ m~[^/]+(?=;|$)~g;
这将匹配任何不是 a /
([^/]+
部分)的字符,在 a;
或字符串结尾((?=;|$)
部分)之前