Разница между \ A \ z и ^ $ в регулярных выражениях Ruby

Согласно Pickaxe:

^ Соответствует perlre началу строки.

$ Соответствует perlre концу строки.

\A Соответствует regex-php началу строки.

\z Соответствует regex-php концу строки.

\Z Соответствует perlre концу строки, если строка regular-expression не заканчивается "\n", и в этом regexes случае она соответствует regex непосредственно перед "\n".

Итак, используйте perlre \A и строчные буквы \z. Если regularexpression вы используете \Z, кто-то может regexp вставить символ новой строки. Я regular-expressions думаю, это не опасно, но perlre может испортить алгоритмы, предполагающие, что apache-regexp в строке нет пробелов. В apache-regexp зависимости от вашего регулярного regexp выражения и ограничений длины regex-php строки кто-то может использовать regexes невидимое имя только с символом regular-expression новой строки.

Реализация Regex regexes в JavaScript рассматривает ruby \A как буквальный 'A' (ref). Так regexes что следите за собой и проверяйте.

ruby

regex

2022-06-26T00:03:05+00:00