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 に答える