在 URL 中匹配 "Not a Word"?

Matching "Not a Word" in URL?

我正在尝试捕捉:

http://anydomain/MYDIR/filename.aspx

但是不是

http://anydomain/subdir/MYDIR/filename.aspx

(基本上,规则是捕获第一个,然后重定向到第二个——我已经移动了文件——任何为旧文件添加书签的人,我希望他们迅速转移到新文件)。

我所做的一切都是捕获两者,并生成一个有趣的重定向循环。像 GRR 一样有趣,不像 YAY 那样有趣。不可否认,我在 RegEx 基础之外很糟糕,十年来我需要它两次,并且很快就忘记了一切。我得到的最接近的是这样的:

^.*!NEWDIR\/MYDIR\/filename\.aspx$

但似乎无法验证。我相信这是我在正则表达式中 NEWDIR 的 "grouping",它是否认为我只是没有 N 而 EWDIR 应该在那里?我怎样才能完全达到“notNEWDIR

试试这个:

^.*(?<!NEWDIR)\/MYDIR\/filename\.aspx$

这是在使用负面回顾。这里的目标是对一个字符串进行数学运算,该字符串不由另一个字符串进行。

Here is a working example. For details on lookbehind check this page.