匹配最后一次出现的“

时间:2013-02-27 16:20:38

标签: javascript jquery regex

我有一个字符串可能如下所示:

<p>“bla bla bla “Another THing”,more text to the sentence.”</p>

我希望匹配最后一个字符并用span填充它。第一个很简单:

var str = '<p>“bla bla bla “Another THing”,more text to the sentence.”</p>'
str.replace(/“/,"<span class=quote>“</span>")

但由于句子中可能会有一些结束,我该如何匹配最后一个?

2 个答案:

答案 0 :(得分:4)

您可以使用前瞻:

str = str.replace(/”(?=[^”]*$)/,"<span class=quote>”</span>")

这将替换",后跟一系列non-"个字符,直至结束。

答案 1 :(得分:0)

嗯...怎么样

var astr = str.Split("“");

astr[astr.length-2] += "<span class=quote>";
astr[astr.length-1] = "</span>" + astr[astr.length-1];

str = astr.join("“");

有趣但如果您没有任何则会失败 - 因此建议进行错误检查。

不知道它是否比前瞻性正则表达更快 - 但现在你有了选择。