gpt4 book ai didi

javascript - 获取 JavaScript 正则表达式中除匹配之外的所有内容

转载 作者:行者123 更新时间:2023-12-02 14:14:28 25 4
gpt4 key购买 nike

我有以下正则表达式来获取网址后的第一部分:

^http[s]?:\/\/.*?\/([a-zA-Z-_.%]+).*$

它与以下网址中的test匹配:

foo.com
http://foo.com
http://foo.com/test
http://foo.com/test/
http://foo.com/test?bar

我现在尝试做的是重新创建相同的网址,但将 test 替换为不同的值。要么取赛前赛后的部分,要么颠倒结果。

我确信有一种正则表达式可以做到这一点,但我无法找到如何做到这一点。

最佳答案

您可以在 /test 之前使用捕获组,并将其用作替换时的反向引用:

var re = /^(https?:\/\/[^\/]+\/)[^?\/]+/gmi; 
var subst = '$1foobar';

var result = str.replace(re, subst);

[^?\/]+ 将匹配 URL 中域名后的下一个 /? 之前的文本。作为您的原始正则表达式,它还假设 URL 以 http://https:// 开头。

RegEx Demo

关于javascript - 获取 JavaScript 正则表达式中除匹配之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39171207/

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