gpt4 book ai didi

javascript - 按正则表达式拆分产量 "undefined"

转载 作者:搜寻专家 更新时间:2023-11-01 04:57:38 26 4
gpt4 key购买 nike

I have a code which提取查询字符串参数:

所以(例如)如果窗口 url 是:

....&a=1&.....

--代码首先在&上使用split,然后在=

上做split

但是,有时我们使用 base64 值,它可以有额外的尾数 ='s(填充)。

And here is where my code is messed up.

结果是 N4JOJ7yZTi5urACYrKW5QQ 应该是 N4JOJ7yZTi5urACYrKW5QQ==

所以我将正则表达式增强为:

搜索 = 这样之后-> ( 没有尽头 没有[=])

'a=N4JOJ7yZTi5urACYrKW5QQ=='.split(/\=(?!($|=))/)

它确实有效。(您可以在控制台上运行它)

但结果是 ["a", undefined, "N4JOJ7yZTi5urACYrKW5QQ=="]

  • 为什么我会变得不确定
  • 如何解决我的正则表达式只产生 ["a", "N4JOJ7yZTi5urACYrKW5QQ=="]

附注我知道我可以将所有决赛 = 替换为临时的东西,然后再将其替换回去但是这个标签被标记为正则表达式。所以我正在寻找一种方法来修复我的正则表达式。

最佳答案

发生这种情况是因为您有额外的匹配 ($|=)。您可以将其从与 ?::

的匹配中排除
"a=N4JOJ7yZTi5urACYrKW5QQ==".split(/=(?!(?:$|=))/);

但是,您始终可以展平匹配并删除额外的 block :

"a=N4JOJ7yZTi5urACYrKW5QQ==".split(/=(?!$|=)/);

关于javascript - 按正则表达式拆分产量 "undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16719560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com