7

我正在尝试通过在下面的代码中获取 (.*) 的内容,使用 grep 的正则表达式捕获来捕获子字符串。

            @substring = grep /^test-results(.*)/,@$(array_reference);

这不工作....

4

2 回答 2

8

在列表上下文中,正则表达式匹配返回其捕获匹配的列表,因此您只需要:

@substrings = map /^test-results(.*)/, @$array;
于 2012-05-29T05:09:29.893 回答
7

可能该map功能更适合您想要的功能。您正在寻找类似于以下(未经测试)代码的内容:

@substrings = map { /^test-results(.*)/ ? $1 : () } @{ $arrayref };
于 2012-05-29T00:10:37.573 回答