jQuery正则表达式未拾取
好的,我已经检查了4个不同的so问题,没有一个给我答案:( 我正在工作的一个网站有几百个页面,但不幸的是,url中标记的结构发生了变化。猜猜看,这些页面是用文本和链接(FML)硬编码的。无论如何,现在的一个快速修复方法是让query更改所有这些链接 我决定尝试使用这个: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'
$(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并用加号添加其余部分。示例: