проблемы с {} в регулярных выражениях

AleXXX V. NovikoFF alexxx at alexxx.ru
Sat Sep 16 13:53:25 MSD 2006


Поиск рулит, ставьте кавычки

Sat, 16 Sep 2006 13:47:27 +0400
Andrey <deepmindster at gmail.com> ïèñàë(à):

> Доброго времени суток.
> 
> Встретился с проблемой. Если ставить {} в регулярном выражении, то nginx
> -t говорит, что rewrite не закончился ;
> 
> Например, пример ниже работать не будет. Синтаксис файла некорретен.
> (Видимо, потому, что { встречается раньше чем ; ).
> 
> location ^~ /directory/jsnews/ {
>     rewrite ^/directory/jsnews/([\d]{1,2})$  /js/$1 break;
> }
> 
> Следующий пример тоже не работатет, синтаксис верный, но регулярное
> выражение срабатывает так, будто там стоит \{ в регулярном выражении.
> Т.е. срабатывает на выражение, например(не регулярное, просто
> URI), /directory/jsnews/5{1,2} .
> 
> location ^~ /directory/jsnews/ {
>     rewrite ^/directory/jsnews/([\d]\{1,2\})$  /js/$1 break;
> }
> 
> Пример ниже рабоатет верно.
> location ^~ /directory/jsnews/ {
>     rewrite ^/directory/jsnews/([\d]|[\d][\d])$  /js/$1 break;
> }
> 
> Существует ли способ указать фигурные скобки в регулярном выражении
> rewrite или это ошибка? Или моя ошибка?
> В документации описани я не шашёл (может, пропустил?).
> 
> nginx 0.4.0

-- 
AleXXX V. NovikoFF <alexxx at alexxx.ru>






More information about the nginx-ru mailing list