Javascript:替换出现在多组括号之间的所有实例

时间:2012-03-07 18:13:46

标签: javascript

我有一组包含多组括号的字符串,每组括号包含多个<br>标记。例如,一个代码段可能是:

<p>some text<br>[text<br> text text<br>text]<br>some more text<br>[text]</p>

我需要移除括号内的<br>标记,但不删除括号外的<br>标记。我尝试使用.replace和.indexOf()循环执行此操作,但它删除了括号外的<br>标记。有任何想法吗?谢谢!

1 个答案:

答案 0 :(得分:5)

您可以使用正则表达式并替换它与括号中的<br>匹配:

var regexp = /\[(.*)<br>(.*)\]/; // [anything<br>anything]

while(regexp.test(str)) {
  str = str.replace(regexp, "[$1$2]"); // replace with [anythinganything]
}