問題 文字列'abcccde'に対して、以下の最短一致マッチ(non-greedy match)を使った(1)から(4)の正規表現をかけたときのマッチ結果は? (マッチするかしないかではなく、どの部分がマッチして $& に入るかです。) foreach my $regexp ( qr/bc*/ , # (1) qr/bc*?/ , # (2) qr/c*d/ , # (3) qr/c*?d/ , # (4) ){ if( 'abcccde' =~ $regexp ){ print $regexp, " -> match: $&\n"; }else{ print "no match.\n"; } } 実行せずに(4)がわかれば、通です。オレは間違えました(笑。 解説 comp.lang.perl.moderatedグループに同様の話を見つけました。 要は、「最短一致はマッチの開始位置の変更は