nginx httpMapModule正则expression式variables

HttpMapModule文档指出:

从1.0.4开始,不区分大小写的正则expression式可以通过在模式前添加〜*来使用。

举个例子:

map $uri $myvalue { /aa /mapped_aa; ~^/aa/(?<suffix>.*)$ $suffix; } 

我更新到nginx/1.2.7使用这个,天真的正则expression式工作好,但variables不。 当我尝试上面的语法,我得到的错误:

 nginx: [emerg] pcre_compile() failed: unrecognized character after (?< in "^/aa/(?<suffix>.*)$" at "suffix>.*)$" 

我也尝试了下面的语法,但是没有一个工作:

 ~^(.*)$ $1; ~^(.*)$ \1; 

但他们都没有工作。

有谁知道如何让variables在HttpMapModule正则expression式中工作?

(?P<name>pattern)是命名捕获组的标准PCRE语法 – 文档缺lessP

维基百科上的“命名子模式”部分指出(?<name>...)(?'name'...)对PCRE 7.0起有效; 据推测你的nginx版本是与PCRE的早期版本链接的。