Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex,用于将web应用的旧版本重定向到IIS 7中的最新版本_Regex_Iis 7_Url Rewriting - Fatal编程技术网

Regex,用于将web应用的旧版本重定向到IIS 7中的最新版本

Regex,用于将web应用的旧版本重定向到IIS 7中的最新版本,regex,iis-7,url-rewriting,Regex,Iis 7,Url Rewriting,我最近发现了IIS7+URL重写器,并尝试使用它使用模式匹配重定向请求 我想将旧版本路径的所有请求重定向到最新版本路径。版本会附加到网站路径,并随着每个版本的增加而增加,如下所示: Website1RC1 --> Website2 --> ... to Website22RC15 其中,上述路径中的每个部分: Website = Fixed 1-100 = Always there RC = Optional 1-100 = Optional 知道最新版本并知道这些版本是增量的,

我最近发现了IIS7+URL重写器,并尝试使用它使用模式匹配重定向请求

我想将旧版本路径的所有请求重定向到最新版本路径。版本会附加到网站路径,并随着每个版本的增加而增加,如下所示:

Website1RC1 --> Website2 --> ... to Website22RC15
其中,上述路径中的每个部分:

Website = Fixed
1-100 = Always there
RC = Optional
1-100 = Optional

知道最新版本并知道这些版本是增量的,有没有一种方法可以让一个正则表达式匹配所有旧版本?当然,我想避免的是表达式匹配最新版本,否则它将以无限重定向结束。

我知道的唯一方法是使用分组机制,在分组机制中,您可以显式地将最新版本与文字匹配,并将其他版本与通用表达式匹配。然后检查常规匹配的上下文,如下所示:

^(?(Website22RC15)|(Website1?\d{1,2}(?:RC)?1?\d{1,2}))$

我认为可能有一种方法可以使用消极的“向前看”和“向后看”功能,但这似乎只适用于在您感兴趣的内容之前或之后匹配不同的字符串

顺便说一句,请注意,如果存在RC,则通常无法区分这两个整数