1

到目前为止,我有一个带有正则表达式的代码来替换不应该存在的内容 EX:

var a = $('.uTubeE').attr('href').replace(/\(((\s*?.*?)*?)\)/g,'');
        $('.uTubeE').attr('href',a).text(a).attr('title',$1);

要删除的文本如下所示:

<a href="www.url.com(content)">www.url.com(content)</a>

如您所见,我现在正在尝试使用我删除的内容作为标题属性,我知道 var a 是错误的,因为我正在替换内容。我不知道如何抓住它,因为一旦我这样做了,我就可以简单地这样做-

  var correct= $('.uTubeE').attr('href').replace($1);
  $('.uTubeE').attr({
     href: correct,
     title: $1
     }).text(correct);

只是不知道如何正确地完成这一切。

关于使用正则表达式的任何建议和帮助?

新问题指出有 0 个未定义>

var a = $(forum[yourVersion]+' a[href*="watch?v"]');
  for (i = 0; i < a.length; i++) {
     var xyx = a[i].href.match(/\(((\s*?.*?)*?)\)/);
     var b = a[i].href.replace(new RegExp("watch\\?v=", "i"), 'v/');
     a[i].href= b;
     var cc = b.replace(/(www\.)?youtube.com/, 'img.youtube.com');
     var dd = cc.replace('v','vi').replace(xyx[0],'');
     a[i].outerHTML= '<a class="uTubeE" rel="vid_gallery" title="'+xyx[1]+'" href="' + b + '"><span class="uTubeE_overlay"></span><img src="'+ dd +'/0.jpg"/></a>';
     }
4

1 回答 1

1

假设只有一个带括号的东西要删除,请使用exec

var href = $('.uTubeE').attr('href');
var match = /\(((\s*?.*?)*?)\)/.exec(href);

现在你的内容在match[1]里面,你可以href通过做来修复

href =
    href.substring(0, match.index) +
    href.substring(match.index + match[0].length);
$('.uTubeE').attr('href', href);
于 2013-06-30T19:55:58.857 回答