【发布时间】:2016-02-12 19:29:58
【问题描述】:
这里有正则表达式大师吗?
我试图找到答案,但我接近了那个答案: Matching strings not ending with .html 但不幸的是,它不能满足我的需求:
在 IIS 7.5 上想要重定向任何地址而不使用尾部斜杠:
- 目录
- 目录/章节
到
- 目录/章节/
但不是
- 目录/
- 目录/章节/
- 目录/章节/anything.any
- 目录/章节/anything.any4
- 目录/章节/anything.an
(2到4个字符之间的扩展)
棘手的部分是,我需要获取第一组“目录”,因为它在条件中用于检查它是否存在于重写表中。 现在,我得到第一组: ((.+?)(?=/|$))
但是,要检查以下内容(如果有的话),我就卡住了。
我不知道该怎么做...
非常感谢您的帮助!!!
编辑:
为了更清楚,这就是我想要实现的目标:
- 目录 ==> MATCH + 捕获第 1 组中的“目录”
- 目录/章节 ==> MATCH + 捕获第 1 组中的“目录”
- 目录/ ==> 不匹配
- 目录/章节/ ==> 不匹配
- 目录/章节/anything.any ==> 不匹配
- 目录/章节/anything.any4 ==> 不匹配
- 目录/章节/anything.an ==> 不匹配
【问题讨论】:
-
试试
^(?!catalog\/chapter/.*$).*[^/]$