IIS Web.config正则表达式正斜杠约束

时间:2017-11-24 12:03:38

标签: regex iis web-config iis-8

我使用web.config重写IIS 8.5中的URL

这是我的正则表达式:

   match url="^((?:[a-z]{2}\/{1}){1,2})?listen$"

这将成功匹配以下内容:

  • 烯/ GB /听
  • 烯/听

然而,我无法开始工作的部分是将每个可选组中的正斜杠限制为单个字符:

\/{1}

有趣的是,此示例适用于https://regex101.com/r/VNwejt/1

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以在开头使用负向前瞻限制整个模式:

^(?!.*//)<PATTERN_GOES_HERE>

请参阅regex demo

如果在一行文字的任何位置有(?!.*//)个子字符串,//前瞻会使匹配失败。

但是,在这种情况下,前瞻是多余的,因为您的消费模式不允许在字符串//中的任何位置连续2 ^(?!.*//)((?:[a-z]{2}/){1,2})?listen$。检查配置文件中的其他选项。