【发布时间】:2017-03-29 16:26:21
【问题描述】:
我有以下网址:
http://data.test.com/api/v1/entity/1231
我需要获取v1/ 之后和/ 之前的文本(在斜线之间),在本例中是单词entity。我正在使用以下正则表达式,但我得到的是第 1 组的entity/1231:
/^[^\#\?]+\/v1\/([^\?]+).*$/
知道如何摆脱1231 或entity 之后的任何内容吗?
【问题讨论】:
-
v1\/([^/]+)或v1\/(.*?)\/ -
如果零件固定
"http://data.test.com/api/v1/entity/1231".split("/")[5] -
如果您正在使用的 URL 是可预测的,那么正则表达式虽然可能,但可能是一个过于复杂的工具。网址可以更改吗?是否总是“在
v1/之后和[下一个]/之前”? -
@DavidThomas 是的,它们是可以预测的
-
你需要
str.match(/\/v1\/([^\/]+)/)[1]
标签: javascript regex