Regex 正则表达式以匹配url的特定最后路径部分

Regex 正则表达式以匹配url的特定最后路径部分,regex,Regex,出于重定向目的,我正在尝试匹配url中路径的最后一部分。我想匹配任何以“/serve”结尾的url,无论是否存在查询字符串 我已经尝试了许多正则表达式模式,但下面的一种似乎有效,但是查询字符串的存在打破了匹配: 我尝试过的模式: \/([a-z0-9\-]*\/发球[\/]?)$ 应匹配的测试字符串示例: https://test.com/serve https://test.com/serve/?param=1 https://test.com/serve/ http://test.com/s

出于重定向目的,我正在尝试匹配url中路径的最后一部分。我想匹配任何以“/serve”结尾的url,无论是否存在查询字符串

我已经尝试了许多正则表达式模式,但下面的一种似乎有效,但是查询字符串的存在打破了匹配:

我尝试过的模式:

\/([a-z0-9\-]*\/发球[\/]?)$

应匹配的测试字符串示例:

https://test.com/serve
https://test.com/serve/?param=1
https://test.com/serve/
http://test.com/serve
不应匹配的测试字符串示例:

https://test.com/serve/ways-to-serve
https://test.com/serve/ways-to-serve?param=1
提前感谢。

您可以使用

\/([^\/]+\/serve\/?)(?:$|\?)

详情:

  • \/
    -a
    /
    字符
  • ([^\/]+\/serve\/?)
    -捕获组1:除
    /
    字符以外的一个或多个字符,然后是
    /serve
    ,可选的
    /
    字符
  • (?:$\124;\?)
    -与字符串结尾匹配的非捕获组或
    字符
见:


以后请发布您实际使用的代码,因为对于正则表达式,不同的语言使用不同的风格,并且具有不同的处理正则表达式的能力。或者至少勾选您尝试使用的语言的标志。这也将使其他陷入相同问题的用户更容易知道解决方案可能适合他们。