我有一个提取查询字符串参数的代码:
所以(例如)如果窗口 url 是:
....&a=1&.....
--代码先用spliton &,再split on=
但是,有时我们使用 base64 值,它可以有额外的结尾='s(填充)。
结果是N4JOJ7yZTi5urACYrKW5QQ而且应该是N4JOJ7yZTi5urACYrKW5QQ==
所以我将我的正则表达式增强为:
在它=之后搜索- > ( there is no end OR there is no [=] )
'a=N4JOJ7yZTi5urACYrKW5QQ=='.split(/\=(?!($|=))/)
它确实有效。(您可以在控制台上运行它)
但结果是["a", undefined, "N4JOJ7yZTi5urACYrKW5QQ=="]
- 为什么我变得不确定
- 我怎样才能治愈我的正则表达式只产生
["a", "N4JOJ7yZTi5urACYrKW5QQ=="]
ps 我知道我可以将所有 finals 替换=为临时的,然后将其替换回来,但是这个标签被标记为正则表达式。所以我正在寻找一种方法来修复我的正则表达式。