你如何改变这个Javascript正则表达式以排除“<br/>”?

时间:2011-06-09 22:24:47

标签: javascript regex

我有这个正则表达式/[^a-z0-9\s]+/ig。我希望字符串<br/>不包含在其中。我该如何编辑呢?

示例字符串:var testContent = "Si mi voz muriera en tierra, <br> llevadla al nivel del mar <br> y dejadla en la ribera. <br> <br> Llevadla al nivel del mar <br> y nombradla capitana <br> de un blanco bajel de guerra. <br> <br> Oh mi voz condecorada <br> con la insignia marinera: <br> sobre el corazon un ancla <br> y sobre el ancla una estrella <br> y sobre la estrella el viento <br> y sobre el viento una vela!"

在这个字符串上我运行这个javascript:

testContent.replace(/[^a-z0-9\s]+/ig, 
                  function ($1) { 
                       return ' ' + $1;
                       }
           ).split(" ");

我希望它在<br/>分开,而不是在<br以及/>时分割为该字符串。

2 个答案:

答案 0 :(得分:2)

编辑针对以下问题进行了更新(OP意味着什么):

so, for.this - you<br>want包含以下内容的数组:so,for.this-,{ {1}},you<br>

您可以使用以下内容:

want

适用于var array = testContent.match(/[a-z\d]+|<br\s*\/?>|[^a-z\d\s]+/gi); <br>;)

答案 1 :(得分:0)

(?!.*<br/>.*$)[^a-z0-9\s]+

它使用负向前看

EDITED:修正了neg look ahead语法。

我承认:这个正则表达式不起作用。但我正在努力!