PCRE named captures sill counted in numerical variables list
Maxim Dounin
mdounin at mdounin.ru
Thu Apr 3 13:21:49 UTC 2014
Hello!
On Thu, Apr 03, 2014 at 03:08:14PM +0200, B.R. wrote:
> I tried to configure the following location with something like:
>
> location ~*
> "^/([[:alpha:]]{1,8}(?<subtag>-[[:alpha:]]{1,8})?)(/.*[^/])?/?$" {
> try_files $uri $uri/ $2/?lang=$1&$args;
> }
>
> However, the $2 variable does not catch the last part of the URI as
> expected (either it catches the named capture or nothing at all, that I do
> not know nor care).
>
> Using $3 instead of $2 does the job.
>
>
> I thought that using named captures allowed for those capture not to be
> counted in numerical variable
> .
>
>
> Am I wrong expecting that?
Yes, you are wrong, "man perlre" says:
Named groups count in absolute and relative
numbering, and so can also be referred to by those numbers.
The same does "man pcrepattern":
Named capturing parentheses are still allocated numbers
as well as names, exactly as if the names were not present.
>From pattern point of view, it's just an human-friendly alias for
a capture.
--
Maxim Dounin
http://nginx.org/
More information about the nginx
mailing list