我正在尝试替换一些文字。如果继续阅读,这将是有意义的。
[quote]Here is a message[/quote]
Message one
[quote]Another message[/quote]
Message two
以上是我的 textarea 中的内容。我想替换除了quote-tags内部的内容之外的所有内容。我希望将其替换为[b]Message one[/b]
,以便在原始邮件周围添加 [b] 和 [/ b] 。最终结果应如下所示:
[quote]Here is a message[/quote]
[b]Message one[/b]
[quote]Another message[/quote]
[b]Message two[/b]
所以基本上排除[quote]并在原始消息周围应用[b]和[/ b]。我尝试了一些排除正则表达式,但我没有找到任何有用的东西。
答案 0 :(得分:2)
试试这个:
var string = "Replace this[quote]Here is a message[/quote]\nReplace this\n\n[quote]Another message[/quote]\nReplace this as well";
string.replace(/(\[\/quote\]\s*|^)([^[]+?)(\s*\[quote|$)/g, "$1[b]$2[/b]$3");
///// And we get:
// [b]Replace this[/b][quote]Here is a message[/quote]
// [b]Replace this[/b]
//
// [quote]Another message[/quote]
// [b]Replace this as well[/b]
同时查看jsFiddle。