gpt4 book ai didi

Javascript 正则表达式替换(编码)url

转载 作者:行者123 更新时间:2023-11-30 13:54:59 24 4
gpt4 key购买 nike

我想更改包含社交登录 URL 的服务器响应。url 看起来像这样(为了更好的可读性,我换行到多行):

https://www.facebook.com/v2.6/dialog/oauth?client_id=clientid&scope=public_profile,email&response_type=code&redirect_uri=
https%3A%2F%2Fsomeotherurl%3A5000%2Fsignin-facebook
&state=reallylongstring

我要更改的部分在第二行,但要保留 signin-facebook 部分,如下所示:

https://newurl.com/signin-facebook(signin-facebook 可以是其他东西,比如 signin-linkedin 等...)

因此完整替换的 url 将是:

https://www.facebook.com/v2.6/dialog/oauth?client_id=clientid&scope=public_profile,email&response_type=code&redirect_uri=
https://newurl.com/signin-facebook
&state=reallylongstring

据我所知,它替换了正确的部分,但是离开了 signin-facebook 部分:

/^https:\/\/(.*&redirect_uri=)([^&]*)(.*)/

Playground 链接: https://regexr.com/4j5h6

要替换的 url 段将在正则表达式引擎命中它时已经 url 编码,所以我想我必须以某种方式匹配编码 /&state=... 部分,但我现在坚持使用它。

最佳答案

I guess somehow I have to match for a string that is between an encoded / and the &state=..

因为编码的/%2F,你可以使用这个正则表达式:

/^(https:\/\/.*&redirect_uri=).*%2F([^&]+)(&state=.*)/i

并将其替换为:

$1https://newurl.com/$2$3

RegEx Demo

关于Javascript 正则表达式替换(编码)url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57480812/

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