トップページに戻る
次の正規表現パズルへ
前の正規表現パズルへ
8-7 組み込みコードでマッチ情報の表示
正規表現パズル
詳説正規表現2版の322ページ
詳説正規表現3版の325ページ
を参考にさせていただきました。
解説
組み込みコードでマッチ情報を表示することができます。
複雑な正規表現のデバッグに使えるかもしれません。
Perlでのソースと実行結果
print "\ntest1\n";
'abc' =~ m/(?{print "Starting match at [$`|$']\n"})(?=[a-z]{2}$)/;
print "\ntest2\n";
'abcdef' =~ m/(?{print "Starting match at [$`|$']\n"})(?=[a-z]{2}$)/;
print "\ntest3\n";
'XXXXXX' =~ m/(?{print "Starting match at [$`|$']\n"})(?=[a-z]{2}$)/;
#実行結果
test1
Starting match at [|abc]
Starting match at [a|bc]
test2
Starting match at [|abcdef]
Starting match at [a|bcdef]
Starting match at [ab|cdef]
Starting match at [abc|def]
Starting match at [abcd|ef]
test3
Starting match at [|XXXXXX]
Starting match at [X|XXXXX]
Starting match at [XX|XXXX]
Starting match at [XXX|XXX]
Starting match at [XXXX|XX]
Starting match at [XXXXX|X]
Starting match at [XXXXXX|]