给定以下两个字符串
?room=any_characters123&name=John
?room=any_characters123
我想使用正则表达式提取“any_characters123”。
我已经尝试过
(?<=room=)(\w)+(?=\&)
但是这个在第二个字符串上失败(因为匹配的字符串必须以“&”结尾)。
如何编辑正则表达式,使其与两个字符串中的any_characters123 匹配?
最佳答案
由于 javascript 不支持lookbehinds,因此您需要使用捕获组。
\?room=(\w+)
示例:
> var s = "?room=any_characters123&name=John"
> var s1 = "?room=any_characters123"
undefined
> var re = /\?room=(\w+)/;
undefined
> console.log(re.exec(s)[1])
any_characters123
undefined
> console.log(re.exec(s1)[1])
any_characters123
关于javascript - 正则表达式匹配URL参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28554151/