В PCRE, в чем разница:
^
\A
$
\Z
Я помню, что в чтении была небольшая разница, но не могу точно вспомнить, что это было.
По умолчанию нет никакой разницы между ними, они оба обозначают начало или конец строки. Однако, если вы используете модификатор m, то ^ и $ будут соответствовать началу и концу строк соответственно.
m