regex - 正则表达式 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/
甚至可以编写一个可以从上面每个示例中提取参数的奇异正则表达式吗?
解决方案
尝试正则表达式:\/([a-zA-z]+)\/(?:(?:([a-zA-z]+)\/)?([a-zA-z-]+)\/)?
细节:
? Quantifier
— 匹配 0 到 1 次,尽可能多次
这里的假设是,至少有一个参数,最多有 3 个参数。
推荐阅读
- macos - 如何从 MacOS 上的文件中删除 @(扩展属性)?
- javascript - 如何在 HTML 字符串中转义 Javascript
- here-api - 如何从 Here API 获取历史流量数据
- javascript - mongodb nodejs驱动updateOne没有设置新值
- aws-iot - 将 AWS SQS 订阅到 IoT 主题
- c# - 通过 C# .Net 平台连接到 Confluence 并创建一个新页面
- android - 如果可以的话,从谷歌助手启动我的应用程序
- python - Django OperationalError:没有这样的列:在 pythonanywhere
- android - 刷新令牌时如何发送到服务器?
- ansible - 迭代库存时,Ansible如何将寄存器的输出存储在列表中