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