使用正则表达式,无法获得第二组

时间:2016-06-20 14:37:01

标签: regex tuckey-urlrewrite-filter

在我的申请中,我使用UrlRewriteFilter来重写网址。此过滤器允许我们使用正则表达式或通配符定义规则。我使用正则表达式来匹配网址。以下是我定义的示例规则

<urlrewrite>
    <outbound-rule>
        <from>^/((\bjs)|(\bcss)|(\bimages))\/(.*)$</from>
        <to>www.example.com/$1/$2?q=test</to>
    </outbound-rule>
</urlrewrite>

通过定义上述规则,我可以匹配来自url并重写为<to>标记内配置的值。这里的问题是,我无法从 $ 2 获得预期值。

例如,对于URL&#39;

  • /css/login.css
  • /js/login.js
  • /images/logo.png

我的预期输出是

  • www.example.com/css/login.css?q=test
  • www.example.com/js/login.js?q=test
  • www.example.com/images/logo.png?q=test

但是我得到了

  • www.example.com/css/?q=test
  • www.example.com/js/?q=test
  • www.example.com/images/?q=test

我在正则表达式中遗漏了一些东西。如何检索 $ 2 组的完整值。提前谢谢。

0 个答案:

没有答案