首页 > 解决方案 > 正则表达式 url 参数 IIS

问题描述

我已经审查了几个关于正则表达式 url 参数的问题,但似乎没有一个问题专门解决了我的问题。我一直在尝试在 www.regex101.com 中找出正确的正则表达式模式,但没有发现任何成功。我有一个 url,其中包含由/'s 分隔的参数。我能够一次正则表达式一个参数,但理想情况下我想开发一种可以提取所有参数的模式。到目前为止,这就是我所拥有的:

\/([a-zA-z]+)\/([a-zA-z]+)\/([a-zA-z-]+)\/

我要修改的网址是:

www.mydomain.com/firstparameter/secondparameter/hyphenated-url-parameter/

上面的模式适用于这个例子,但我需要它也适用于这两个例子:

www.mydomain.com/firstparameter/secondparameter/

www.mydomain.com/firstparameter/

甚至可以编写一个可以从上面每个示例中提取参数的奇异正则表达式吗?

标签: regexurl-rewriting

解决方案


尝试正则表达式:\/([a-zA-z]+)\/(?:(?:([a-zA-z]+)\/)?([a-zA-z-]+)\/)?

细节:

? Quantifier — 匹配 0 到 1 次,尽可能多次

演示

这里的假设是,至少有一个参数,最多有 3 个参数。


推荐阅读