我有以下网站格式:
https://smth.something.com/word/?1746636d-450c-4e3b-bec6-f9c8749f6644&sh_
如何提取“?”之间的值?和“&”,以接收代码“ 1746636d-450c-4e3b-bec6-f9c8749f6644”?
我正在尝试使用RegEx (?<=?)(.*)(?=&)
,但出现以下错误:Uncaught SyntaxError: Unexpected token ?
答案 0 :(得分:1)
负向后视通常无法在JavaScript中使用(目前仅在Chrome中受支持),因为它尚未得到广泛支持,因此您需要像?
那样将\?
换成?
正则表达式中的特殊字符。
您可以使用此正则表达式,
\?([^&]+)
并从第1组获取数据
JS演示
const s = 'https://smth.something.com/word/?1746636d-450c-4e3b-bec6-f9c8749f6644&sh_'
console.log(s.match(/\?([^&]+)/)[1])