Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery正则表达式未拾取_Jquery_Html_Regex - Fatal编程技术网

jQuery正则表达式未拾取

jQuery正则表达式未拾取,jquery,html,regex,Jquery,Html,Regex,好的,我已经检查了4个不同的so问题,没有一个给我答案:( 我正在工作的一个网站有几百个页面,但不幸的是,url中标记的结构发生了变化。猜猜看,这些页面是用文本和链接(FML)硬编码的。无论如何,现在的一个快速修复方法是让query更改所有这些链接 我决定尝试使用这个: $(document).ready(function() { $('a').each(function() { var str2 = "tag="; var link = $(this).attr('href'

好的,我已经检查了4个不同的so问题,没有一个给我答案:(

我正在工作的一个网站有几百个页面,但不幸的是,url中标记的结构发生了变化。猜猜看,这些页面是用文本和链接(FML)硬编码的。无论如何,现在的一个快速修复方法是让query更改所有这些链接

我决定尝试使用这个:

$(document).ready(function() {
$('a').each(function() {

    var str2 = "tag=";
    var link = $(this).attr('href');
    if(link.indexOf(str2) != -1){

        var link = link.replace("/tag=.*/","tag/$1");
        $(this).attr('href', link);
    }
});

})
我需要的是获取'href'扫描'tag=ecommerce'或'tag=b2b'等的值,并将结构更改为'tag/eccommerce'或'tag/b2b'

然而,它就是不起作用


我缺少什么?

您需要使用正则表达式语法
/YourRegex/
而不是
“/YourRegex/”
。并使用如下捕获组:

$(文档).ready(函数(){
$('a')。每个(函数(){
var str2=“tag=”;
var link=$(this.attr('href');
if(link.indexOf(str2)!=-1){
var link=link.replace(/tag=(.*)/,“tag/$1”);
$(this.attr('href',link);
}
});
});


我对正则表达式不太了解,但占位符只能用括号填充。所以请尝试“/tag=(.*)/”不,尝试过:/get:replace(“tag=”,“tag/”)。从字符串中选择某些内容不是正则表达式。而是替换某些内容。因此,您不需要真正的正则表达式,而只需要在链接中用另一个字符串替换一个字符串。抱歉,在添加其他内容时,我需要该值。如/编辑等。字符串串联。替换或剪切您需要的内容ed并用加号添加其余部分。示例: