我试图通过在下面的代码中获取(。*)的内容,使用grep捕获使用grep捕获子字符串。
@substring = grep /^test-results(.*)/,@$(array_reference);
这不起作用....
答案 0 :(得分:8)
在列表上下文中,正则表达式匹配返回其捕获匹配的列表,因此您只需要:
@substrings = map /^test-results(.*)/, @$array;
答案 1 :(得分:6)
map
功能可能更适合您的需求。您正在寻找类似于以下(未经测试)代码的内容:
@substrings = map { /^test-results(.*)/ ? $1 : () } @{ $arrayref };