Почему регулярные выражения Ruby используют \ A и \ z вместо ^ и $? - PullRequest
29 голосов
/ 03 сентября 2010

Я не программист на Ruby, но, читая обширное руководство по безопасности Ruby on Rails , я заметил этот раздел:

Типичная ошибка в Rubyрегулярные выражения должны соответствовать началу и концу строки с помощью ^ и $, а не \ A и \ z.

Кто-нибудь знает, является ли это вопросом эстетики или чего-то еще?Я спрашиваю, потому что я использовал только языки, которые используют ^ и $.

1 Ответ

51 голосов
/ 03 сентября 2010

Это не относится только к Ruby; \A и \Z - это не то же самое, что ^ и $. ^ и $ - начало и конец строки якорей, тогда как \A и \Z - начало и конец строки якорей.

Ruby отличается от других языков тем, что он автоматически использует «многострочный режим» (который обеспечивает вышеупомянутое поведение наличия ^ и $ совпадения на строку) для регулярных выражений, но в большинстве других разновидностей его необходимо включить Вы сами, поэтому, вероятно, эта статья содержит предупреждение.

Ссылка: http://www.regular -expressions.info / anchors.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...