使用RegEx从URL获取路径变量

时间:2019-02-28 15:39:43

标签: java regex url

如何从以下URL获取customerid路径变量:

/ customers / {customerid} / agreements / {agreementid}

customerid路径变量的长度可以变化,因此我希望/ customers /和/ agreements之间的所有内容...

我已经在网上搜索了一个解决方案,并尝试自己构建一些RegEx,但到目前为止仍未成功。

1 个答案:

答案 0 :(得分:1)

如果您知道URL中元素的顺序是固定的(即/customers段之前没有任何内容,例如站点/语言前缀-/uk),则可以{{1 }} URL,并在结果数组中获取第二个元素。像这样:

split

或更优雅:

var urlParts = url.split('/');
var customerId = urlParts[1]; // Arrays positions start at 0.

如果您不确定URL的结构,但是知道客户ID始终位于var customerId = url.split('/')[1]; 段之后,则可以使用正则表达式将其提取。

更新:我刚刚意识到您是在指Java,但是上述解决方案仍然有效。这是有关Java中URL拆分的类似问题:In java, what's the best way to read a url and split it into its parts?