如何从URL获取值?

sga*_*dev 6 javascript regex

假设我有类似的东西

var url = 'http://stackoverflow.com/questions/24a34b83c72/js-regex-get-values-between-two-characters'
Run Code Online (Sandbox Code Playgroud)

我如何24a34b83c72使用纯JavaScript 获取ID?我知道它总是在questions/零件之后,无论它是否包含数字或符号,它都需要在下一个之前结束/.我尝试过这样的事情;

url.substring(url.lastIndexOf('questions/'))

但这导致了整个线程.我尝试了正常的表达,但我最接近的是:

var regex = /"details\/"[a-zA-Z0-9]+"\/"/

谁能帮我?

Flo*_*rie 2

您可以将questions/next 之前和之前的所有内容分组/,如下所示:

url.match(/questions\/([^/]+)/)[1]
Run Code Online (Sandbox Code Playgroud)

你可以看到输出url.match(..)是这样的:

["questions/24a34b83c72", "24a34b83c72"]
Run Code Online (Sandbox Code Playgroud)

第二项之所以存在,是因为有括号[^/]+,因此您可以使用 访问它url.match(..)[1]