ПРОЕКТЫ 


  АРХИВ 


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]

Re: Регулярное выраже ние больше



Igor Sysoev wrote:
> 
>> Мне потребовалось написать что-то типа
>>
>> rewrite 
>> ^/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)\.html$
>>   /$11.jsp?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10
>>
>> Как решить проблему с выделениями больше чем 9 ???
> 
> Жизнь богаче схем. На данный момент - никак.

В pcre-7.2 есть в поддержка regex'ов как в Perl 5.10 - в т.ч.
named capture buffers:
http://www.regex-engineer.org/slides/img18.html

Т.о. было бы замечательно реализовать раскрытие переменных типа
$regex_XXX в соотв. named capture.

Пример:

if ($args =~ /item=(?<item_id>\d+)$/) {
    rewrite   ^   http://bla-bla.ru/item/$regex_item_id.htm;
}

-- 
Sergey Skvortsov
mailto: skv@xxxxxxxxx



 




Copyright © Lexa Software, 1996-2009.