正则表达式仅匹配特定的单词和1个出现

时间:2016-03-04 11:16:53

标签: regex redirect iis

真的很抱歉,如果已发布,但我找不到解决方案,尽管看起来(几乎)无处不在!任何帮助将不胜感激:)

基本上,我正在使用正则表达式在IIS中设置重定向。我需要一个模式,只有当两个条件成立时它才匹配:

找到一个单词(我猜的短语)“ / sub-page

只有 1 出现

这是一个正确的测试:

http://website.com/en/sub-page/

错误测试:

http://website.com/en/sub-page/sub-page

我已经尝试过了,但它不太有效:

(?:^ | \ W)

(/子页面)(?:$ | \ W)

非常感谢你的时间。

1 个答案:

答案 0 :(得分:2)

(?<!/sub-page\b)/sub-page\b(?!/sub-page\b)

  • (?<!/sub-page\b) =负面反馈,以确保子网页未显示在网址中的当前位置之前
  • /sub-page\b =找到文字/sub-page后跟字边界
  • (?!/sub-page\b) =否定前瞻以确保子网页未显示在网址中的当前位置

一起表示/sub-page\b必须只匹配一次,在网址中的任何位置。

示例:microtime()