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