キャプチャがPerl正規表現マッチングで定義されているかどうかをテストするにはどうすればよいですか?キャプチャがPerl正規表現マッチングで定義されているかどうかをテストするには?
#!/usr/bin/env perl
use v5.10;
my $str="foobar
barfoo";
while($str =~ m/(?:(f.*))|(?:(b.*))/g) {
say "+ $1";
say "- $2";
}
これは、出力
私がしたいことはありながら
+ foobar
- barfoo
すなわち、 $1
または$2
が一致しない場合は、印刷しないでください。
「$ 1」、「$ 2」などは後方参照ではありません。 "後方参照"は '\ 1'、' \ 2'などを指します。これは前に取り込まれた文字列と一致する正規表現パターンです。 – ikegami