В чем разница между ^ и \A, $и\Z в регулярном выражении?

В регулярных выражениях:

  • В чем разница между ^ и \A?
  • В чем разница между $ и \Z?

Ответы

Ответ 1

В однострочном режиме $ соответствует либо концу строки, либо непосредственно перед новой строкой в ​​конце строки. В многострочном режиме $ соответствует перед каждой новой строкой в ​​строке. \Z всегда соответствует только концу строки независимо от режима линии. То же самое с ^ по сравнению с \A.

Ответ 2

См. perldoc perlre.

The\A и \Z имеют вид "^" и "$", за исключением того, что они не совпадают несколько раз, когда модификатор /m используется, в то время как "^" и "$" будут совпадать каждая внутренняя граница линии. Чтобы соответствовать фактический конец строки, а не игнорировать необязательную конечную новую строку, используйте \z.

Ответ 3

Они различаются, когда речь идет о совпадении строки с несколькими строками.

^ может совпадать в начале строки и после разрыва строки. \A только когда-либо совпадает в начале строки

$может совпадать в конце строки и до разрыва каждой строки. \Z только когда-либо совпадает в конце строки.