javascript - 正则表达式匹配URL参数

标签 javascript regex

给定以下两个字符串

?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/

相关文章:

javascript - Angular JS - 如何清理 Controller 中的 HTML?

javascript - Angular 误差我不明白?

PHP正则表达式用于包含字母数字和特殊字符的字符串

c# - 根据键提取另一个方括号内方括号内的值

c# - 通过类字符串属性过滤

javascript - D3 中交替轴线颜色

javascript - Firefox 在 CSS3 转换之前不更新 DOM

javascript - 如何取消Javascript中的http请求?

javascript - 如何根据 JavaScript 中的白名单字符检查字符串?

php - 如何仅在引用的子字符串中用点替换逗号?