ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: проблемы с {} в регулярных выражениях
  • From: Andrey <deepmindster@xxxxxxxxx>
  • Date: Sat, 16 Sep 2006 13:47:27 +0400
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:subject:from:to:content-type:date:message-id:mime-version:x-mailer:content-transfer-encoding; b=Z0tnEEnGa2CPHXWTC6zCfAr5YN4tzWwvHtPR0JMSpmmrpH4QC8SFhcw4sHW3wNVq/8VrYue7fOf9HDFN5nu29HDzhLZBn++XenVb6KVIv97KIypjE3aI3XBS1cPhQiRlOncF5MjBKsOh9QxgiDt2BfX912q5OOgCuom2wSh0dug=

Доброго времени суток.

Встретился с проблемой. Если ставить {} в регулярном выражении, то 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

С уважением,
Андрей.





 




Copyright © Lexa Software, 1996-2009.