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

Sergey Skvortsov skv at protey.ru
Sun Jul 29 21:51:34 MSD 2007


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 at protey.ru





More information about the nginx-ru mailing list