正規表現の文字列末尾を表す $ と \z の違い。 $ は行末 = \n にもヒットするのでセキュリティ上よろしくないんだって。 \z(小文字)を使うのがいいんだって。(\Z(大文字)だと行末にもヒットするので注意。) ■ 参考 文字列の末尾(\Z, \z) - 位置の指定 - Java正規表現の使い方 正規表現メモ \z Perl 5.005で導入されたもので、\Zと似ていますが、\Zが文字列 末尾の改行の直前にもマッチするのに対して、この演算子は 文字列の末尾にのみマッチするという点が異なります。 ◇ いまいちな例preg_match('/abc$/', $str);◇ よい例preg_match('/abc\z/', $str); ここだと \Z(大文字)は$と同じと書いている。\zは記述なし。 言語によって違うのかな? phpで試してみた。 ■ 試したソース<?php echo '