Re: переменные $1

Maxim Dounin mdounin на mdounin.ru
Ср Апр 22 14:39:23 UTC 2020


Hello!

On Wed, Apr 22, 2020 at 04:31:02PM +0300, Slawa Olhovchenkov wrote:

> А это нормально что переменные $1..$N не являются локальными для
> регэкспа?
> 
> Т.е. если например у нас есть rewrite и там что-то захватывается, а в
> результате используется еще и результат map с регэкспом, то $1 будет
> браться из map.
> Что-то мне кажется это не логично.

Это следствие того, что regexp и использование $1..$N могут быть 
разнесены, например, в конструкциях вида (цитата из 
http://nginx.org/r/if):

    if ($http_cookie ~* "id=([^;]+)(?:;|$)") {
        set $id $1;
    }

Для rewrite'а это, конечно, не нормально, надо править.  Про это 
даже есть тикет:

https://trac.nginx.org/nginx/ticket/564

Patches are welcome.

-- 
Maxim Dounin
http://mdounin.ru/


Подробная информация о списке рассылки nginx-ru