いやあ、ホントおもしろいね。正規表現は。

これまではJavaScriptの正規表現しか知らなかったから、メタキャラの\A,\Z(\z)なんて知らなかった。

^$と何が違うかって、クックブックの文章読んでもよく分からなくてチェッカーサイトでいろいろと試す。
ターゲットが行とテキスト全体の違いなのね。
^$はm(複数行)オプションによって影響を受けるけど、\A,\Z(\z)は影響を受けない。

そして不可思議なことにJavaScriptの^$は\z相当。他の言語では\Z相当。
\Zと\zの違いは、テキストの最後の改行に影響を受けるかどうか。

なるほどねえ。勉強になるわ。

PHPの正規表現はPCREで、ここが参考になる。
http://php.net/manual/ja/reference.pcre.pattern.syntax.php

PHPにはgオプションがなくて、preg_match()とpreg_match_all()の使い分けになる。

解読できると楽しいねえ。

思わず絶版になったオライリーのデスクトップリファレンスを注文してしまった。
正規表現デスクトップリファレンス/トニー スタッブルバイン

¥1,365
Amazon.co.jp