LINUX.ORG.RU

Регулярные выражения на php

 ,


0

1

Я делаю digest-авторизацию на php, и нашел пример ее реализации (http://php.net/manual/ru/features.http-auth.php). В этой статье есть такое регулярное выражение:

preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER);

Вопрос, собственно заключается в том: для чего нужны символы '@' в начале и в конце выражения?


Вопрос, собственно заключается в том: для чего нужны символы '@' в начале и в конце выражения?

Это обрамление регулярки, могут быть любые символы «/» или "!", а дальше могут быть модификаторы /[a-z]/im

kiotoze ★★★★
()
Последнее исправление: kiotoze (всего исправлений: 1)
Ответ на: комментарий от kiotoze

Любые, кроме букв, цифр, пробелов (табов всяких тоже) и бэкслешей. Ну и нуль-терминатора, наверное.

evilface ★★
()
Ответ на: комментарий от kiotoze

Спасибо за оперативный ответ!

А они используются таким образом только в php? Я вроде полистал документацию, но не нашел, что регулярные выражения надо обрамлять '@'...

iving
() автор топика
Ответ на: комментарий от iving

А они используются таким образом только в php?

Нет. В перле я охотно использую «трубы»

r_asian ★☆☆
()
Ответ на: комментарий от iving

Это пых. У них там своя атмосфера. Можно и не собачкой.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.