Javascript regex.replace()不工作

Javascript regex.replace()不工作,javascript,jquery,replace,Javascript,Jquery,Replace,在前面的最后一个问题中,我模模糊糊地了解了regex是如何工作的,并认为我可以将它与其他字符串一起使用。显然情况并非如此。下面是名为mqcontainer的div的内容 <a style="text-decoration:none;" href="http://i.imgur.com/TeC4R.png"><img src="http://i.imgur.com/TeC4R.png" alt="Posted Image">[br]<small></sma

在前面的最后一个问题中,我模模糊糊地了解了regex是如何工作的,并认为我可以将它与其他字符串一起使用。显然情况并非如此。下面是名为
mqcontainer
的div的内容

<a style="text-decoration:none;" href="http://i.imgur.com/TeC4R.png"><img src="http://i.imgur.com/TeC4R.png" alt="Posted Image">[br]<small></small></a><small><a href="http://i.imgur.com/TeC4R.png" class="view_full">View Full Image</a></small>

不管我怎么尝试,它都不起作用。有人能给我一些关于这个问题的见解吗?

应该在regexp中转义
\[br\]
\[br\]查看完整图像
<a style="text-decoration:none;" href="(.*?)"><img src=".*?" alt="Posted Image">\[br\]<small><\/small><\/a><small><a href=".*?" class="view_full">View Full Image<\/a><\/small>
上述措施应该有效

我删除了一个与你的图像后面和逃跑之前的无关的[br]


编辑:还有一点需要补充的是,在看到powtac的上述评论后查看修订历史记录,这实际上是您在他的建议中引入的编辑错误。

错误:

$("#mqcontainer").each(function(){
  $(this).html(
    ...
  )};
)};
$("#mqcontainer").html(
    $("#mqcontainer").html().replace(/<a style="text-decoration:none;" href="(.*?)"><img src=".*?" alt="Posted Image">\[br\]<small><\/small><\/a><small><a href=".*?" class="view_full">View Full Image<\/a><\/small>/g, '[url=$1]Image[/url]')
);
上面的代码可能不正确。因为只有一个div的ID
mqcontainer

<a style="text-decoration:none;" href="http://i.imgur.com/TeC4R.png"><img src="http://i.imgur.com/TeC4R.png" alt="Posted Image">[br]<small></small></a><small><a href="http://i.imgur.com/TeC4R.png" class="view_full">View Full Image</a></small>
试试这个:

$("#mqcontainer").each(function(){
  $(this).html(
    ...
  )};
)};
$("#mqcontainer").html(
    $("#mqcontainer").html().replace(/<a style="text-decoration:none;" href="(.*?)"><img src=".*?" alt="Posted Image">\[br\]<small><\/small><\/a><small><a href=".*?" class="view_full">View Full Image<\/a><\/small>/g, '[url=$1]Image[/url]')
);
$(“#mqcontainer”).html(
$(“#mqcontainer”).html()。替换(/\[br\]查看完整图像/g,“[url=$1]图像[/url]”)
);

。。。不走运,不过我应该抓住的。谢谢。这对我有用:
“”。替换(/\[br\]查看完整图像/,“[url=$1]图像[/url]”)
您可以在Firebug控制台中运行它。它使用了转义的[br]。@Makaze:在纠正其他错误时,你要小心引入错误。。。正如我在回答中所指出的,您的编辑引入了一个额外的
]
,这在您的预编辑版本中是不存在的。我已经在我的版本中测试了这个字符串(承认是通过.NETRegex测试的),它可以正常工作,我相信基本上就是Baldrick告诉你要使用的。Chris:Typo,修复了。我试过波德里克的。我问题中的当前代码是最新的,它不起作用@我不明白该把那根绳子放在哪里。你能用“给我完整的上下文”吗?我对知识的缺乏越来越明显。唉……我会在语义学上争论它是正确的。代码将完美地运行,因为每一个都可以完美地处理单个对象集合。我同意这是一个糟糕的代码,如果使用了多个具有相同ID的东西,可能会指示错误。另外,我认为这更像是一个评论,因为它实际上根本没有回答他的问题或帮助(好吧,你一眼就有一个固定的正则表达式,但你根本没有提到这个变化)。事实上,这解决了它。非常感谢,@powertac。