Метасимвол начала строки ^ вне символьного класса
   по умолчанию соответствует началу обрабатываемых данных,
   если не установили модификаторы. Внутри символьного класса метасимвол
   ^ несёт совершенно другое значение.
  
   Циркумфлекс ^ не обязан быть первым символом
   шаблона, если в шаблоне задействовали несколько альтернатив,
   но должен быть первым символом в каждой альтернативе, в которой
   он появляется, если шаблон когда-либо будет соответствовать этой ветви.
   Если все альтернативы начинаются с циркумфлекса ^,
   то есть шаблон ограничен совпадением только с началом входной строки,
   говорят что шаблон «заякорен». Есть и другие способы «заякорить» шаблон.
  
   Знак доллара $ — утверждение, которое истинно только тогда,
   когда текущая точка сопоставления находится в конце входной строки, или
   непосредственно перед последним символом, в случае если последний символ —
   перевод строки, если не указали модификаторы.
   Метасимвол конца строки $ не обязан быть последним символом шаблона,
   если в шаблоне задействовали несколько альтернатив, но должен быть последним символом
   в каждой альтернативе, в которой он фигурирует. Внутри символьного класса
   символ «$» не несёт специального значения.
  
Поведение метасимвола конца строки изменяют модификатором PCRE_DOLLAR_ENDONLY так, чтобы метасимвол соответствовал исключительно концу строки. Данный флаг никак не касается специальной последовательности \Z.
Значение метасимволов начала и конца строки меняется, если установили модификатор PCRE_MULTILINE. В этой ситуации, кроме совпадений в начале или в конце строки, метасимволы «^» и «$» соответствуют позиции непосредственно после символа перевода строки «\n». Например, шаблон /^abc$/ встречается в строке «def\nabc» в многострочном режиме и не встречается в нормальном режиме. Таким образом, шаблон который «заякорен» в однострочном режиме, все ветки которого начинаются с циркумфлекса «^», не будет признан «заякоренным» в многострочном режиме. Парсер игнорирует модификатор PCRE_DOLLAR_ENDONLY, если установили модификатор PCRE_MULTILINE.
Следует заметить, что служебные последовательности \A, \Z и \z указывают для сопоставления с началом или концом строки в обоих режимах. И если все ветви шаблона начинаются с \A, шаблон будет «заякорен» независимо от присутствия модификатора PCRE_MULTILINE.
