0

我需要从 URL 中获取最后一个值

以下 URL 场景:

http://www.abc.com/aa/bb/cc

http://www.abc.com/aa/bb/cc?ab=1

http://www.abc.com/aa/bb/cc/

http://www.abc.com/aa/bb/cc/?ab=1

从上面的 URL 列表中,我需要从 URL 正则表达式中取出 cc 以获取值 cc

4

1 回答 1

2

这应该可以解决问题:

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

在此处查看实际操作:http ://regexr.com?322bq


解释:

  • ([^/?]+)- 匹配任何不是斜线或问号的字符。
  • (?=- 开始前瞻。
  • /?- 可选地匹配斜线。
  • (?:$|\?)- 要么匹配一个问号,要么断言我们已经结束了。
  • )- 关闭前瞻。

注意:在演示中,它也在?字符之后进行匹配,因为它正在执行全局搜索。不过,这不应该让你担心。

于 2012-09-06T03:37:57.977 回答