jQuery Regex没有拿起

时间:2016-10-26 09:25:06

标签: jquery html regex

好的,所以我检查了4个不同的SO问题,没有人给我答案。 :(

我正在处理的网站有几百页但遗憾的是网址中标记的结构已经改变。并猜测是什么,页面用文本和链接(FML)进行硬编码,无论如何,现在快速解决方法是获取查询以更改所有这些链接。

我决定尝试使用它:

$(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 =电子商务'或' tag = b2b'等,并将结构更改为' tag / eccommerce'或'标签/ b2b'

然而它只是不起作用。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

您需要使用正则表达式语法/YourRegex/而不是"/YourRegex/"。并使用像这样的捕获组:

$(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);
    }
});

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<a href="www.foo.com/tag=MyTag">MyLink</a>