gpt4 book ai didi

javascript - 在javascript中替换url中的查询字符串

转载 作者:行者123 更新时间:2023-11-30 17:26:39 24 4
gpt4 key购买 nike

我有以下两个网址:

url1 = http://localhost:8000/i/dashboard-view?
&level_to_load=1&click_value=%C2%AB%20backll%20Billing%20PartiesC2%
AB%20backll%20Billing%20Parties

url2 = http://localhost:8000/i/dashboard-view?&level_to_load=1
&click_value=%C2%AB%20backll%20Billing%20PartiesC2%AB%20backll%20Billing%20Parties
&new_value=2

我希望能够提取出包含“click_value=...”的部分。

正则表达式后的两个 url 应该是:

url1 = http://localhost:8000/i/dashboard-view?&level_to_load=1

url2 = http://localhost:8000/i/dashboard-view?&level_to_load=1&new_value=2

我目前的正则表达式是:

url.replace(/click_value=.+&/, '');

但显然是不够的。这里正确的正则表达式是什么?

最佳答案

您可以使用此正则表达式匹配 click_value GET 字符串:

&?click_value=[^&#\s]*

因此,要消除它们,

result = url.replace(/&?click_value=[^&#\s]*/mg, "");

讨论

这里的关键是匹配正确数量的字符,仅此而已。在@ridgerunner 的洞察力观察后,我修改了我原来的答案,在许多 url 中,虽然可能不在你的 url 中,但末尾可以有一个 anchor 标记,以 # 开头,我们不想替换它.感谢他改进的答案,不再使用前瞻。

逐个 token

&?                       # '&' (optional (matching the most amount
# possible))
click_value= # 'click_value='
[^&#\s]* # any character except: '&', '#', whitespace
# (\n, \r, \t, \f, and " ") (0 or more times
# (matching the most amount possible))

关于javascript - 在javascript中替换url中的查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24110378/

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