Страница 1 из 1

Синтаксис, экранирование, что неверно ?

Добавлено: 2008-10-27 12:37:34
freeman
Некорректно работает мой шаблон url_regex в squid и ведёт (результаты даёт), в точности как приведенные ниже примеры с grep. В общем сейчас совсем голова не варит, не пойму логики, почему апример тут ловится всё подряд начинающееся с http://se при шаблоне http://*sex*

Код: Выделить всё

$ echo "http://____sex_____" | grep "http://*sex*"
$ echo "http://sex_____" | grep "http://*sex*"
http://sex_____
$ echo "http://seW_____" | grep "http://*sex*"
http://seW_____

Re: Синтаксис, экранирование, что неверно ?

Добавлено: 2008-10-27 14:11:49
Yam
Потому что это не шаблон, а regexp, и символ "*" значит не то что вы подумали. Это на wildcard.
man grep:

Код: Выделить всё

 *      The preceding item will be matched zero or more times.
Ваш шаблон http://*sex* матчит любое сочетание начинающиеся с произвольного набора символов, в котором встречается последовательность http:/ после которого может встретиться символ / ноль или более раз, после чего идет последовательность se и символ "x" повторяющийся ноль или более раз, после чего может быть произвольный набор символов. Отсюда и такие результаты.

Читайте про regexp.

Re: Синтаксис, экранирование, что неверно ?

Добавлено: 2008-10-27 17:45:26
freeman
Сенкс, слона то я и заб[ы|и]л, разговариваю с китайцем по русски и не понимаю чего он не то делает :)