JavaScript - 正则表达式:URL有一个参数

时间:2017-11-23 11:05:48

标签: javascript regex

我试图为php isset ($_GET[param])创建一个模拟器,但是用于JavaScript。
这么久,我得到了这个

[?&]param[&=]

但如果param位于URL(example.com?param)的末尾,则此正则表达式无法正常工作。
你可以在这里玩它:https://regex101.com/r/fFeWPW/1

1 个答案:

答案 0 :(得分:3)

如果您想确保匹配以&=或字符串结尾结束,则可以将[&=]字符类替换为(?:[&=]|$)替换组,将匹配&=或字符串结尾(请注意,$不能放在字符类中,因为它会失去其特殊含义,并将被视为{{1}如果在当前位置之后没有$(?![^&=]),则可能会使用未通过匹配的否定前瞻&,这可能比交替小组。

所以,在你的情况下,它看起来像

=

[?&]param(?:[&=]|$)

查看regex demo

JS演示:

[?&]param(?![^&=])