如何提取2个符号之间的值?

时间:2019-05-02 14:42:03

标签: javascript regex

我有以下网站格式:

https://smth.something.com/word/?1746636d-450c-4e3b-bec6-f9c8749f6644&sh_

如何提取“?”之间的值?和“&”,以接收代码“ 1746636d-450c-4e3b-bec6-f9c8749f6644”?

我正在尝试使用RegEx (?<=?)(.*)(?=&),但出现以下错误:Uncaught SyntaxError: Unexpected token ?

1 个答案:

答案 0 :(得分:1)

负向后视通常无法在JavaScript中使用(目前仅在Chrome中受支持),因为它尚未得到广泛支持,因此您需要像?那样将\?换成?正则表达式中的特殊字符。

您可以使用此正则表达式,

\?([^&]+)

并从第1组获取数据

Regex Demo

JS演示

const s = 'https://smth.something.com/word/?1746636d-450c-4e3b-bec6-f9c8749f6644&sh_'
console.log(s.match(/\?([^&]+)/)[1])