正则表达式匹配 MVC 先前 URL 约束的 URL 路径分数
Regex matches URL path fraction for MVC previous URL constraint
我正在寻找 URL 路径分数正则表达式模式。它应该匹配:
prefix/controller/action/
controller/action/
/controller/action/
/controller/action?param=val
/controller/action?param=val¶m2=val
...
我想在 MVC 中先前 URL 的路由约束中使用它。
尝试以下模式,如果不是您所需要的,这至少应该是一个好的开始:
(?:prefix/|/)?controller/[a-z]+(?:/|(?:\?[a-z]+=[a-zA-Z0-9]+(?:&[a-z]+=[a-zA-Z0-9]+)*))
要点:
(?:prefix/|/)?
– 可选(根据终端?
)以prefix/
或(根据|
)开始只是/
,我们选择不捕获(根据 ?:
)
controller/
[a-z]+
– 动作
(?:/|(?:\?[a-z]+=[a-zA-Z0-9]+(?:&[a-z]+=[a-zA-Z0-9]+)*))
– 以 /
或 结尾(根据 |
) ?
后跟至少一个参数和值
它匹配您所有的示例输入:
prefix/controller/action/
controller/action/
/controller/action/
/controller/action?param=val
/controller/action?param=val¶m2=val
您可以在 related RegexPlanet demo.
中进行测试
我正在寻找 URL 路径分数正则表达式模式。它应该匹配:
prefix/controller/action/
controller/action/
/controller/action/
/controller/action?param=val
/controller/action?param=val¶m2=val
...
我想在 MVC 中先前 URL 的路由约束中使用它。
尝试以下模式,如果不是您所需要的,这至少应该是一个好的开始:
(?:prefix/|/)?controller/[a-z]+(?:/|(?:\?[a-z]+=[a-zA-Z0-9]+(?:&[a-z]+=[a-zA-Z0-9]+)*))
要点:
(?:prefix/|/)?
– 可选(根据终端?
)以prefix/
或(根据|
)开始只是/
,我们选择不捕获(根据?:
)controller/
[a-z]+
– 动作(?:/|(?:\?[a-z]+=[a-zA-Z0-9]+(?:&[a-z]+=[a-zA-Z0-9]+)*))
– 以/
或 结尾(根据|
)?
后跟至少一个参数和值
它匹配您所有的示例输入:
prefix/controller/action/
controller/action/
/controller/action/
/controller/action?param=val
/controller/action?param=val¶m2=val
您可以在 related RegexPlanet demo.
中进行测试