我将split(" ")
用于空格,并将split(/(<[^>]*>)/)
用于字符串中的html标记。
但我必须一起使用。我想用空格和html标签划分一个字符串并将其放入一个数组中。我不想失去任何东西。 string,html标记。
空格为\s
,html标记为split(/(<[^>]*>)/)
,我使用new RegExp("\s+(<[^>]*>)", "g");
但它不起作用。
var htmlTagRegex = new RegExp("\s+(<[^>]*>)", "g");
var str = ""<div class="tab0">CSS code formatter</div><div class="tab2">CSS code compressor</div>";
var myArray = str.split(htmlTagRegex);
if(myArray != null){
for ( i = 0; i < myArray.length; i++ ) {
var result = "myArray[" + i + "] = " + myArray[i]+"<br />";
$(".tt-sns-clear").append(result);
}
}
答案 0 :(得分:1)
不是100%确定您要执行的操作,但看起来空间需要是可选的,例如\s*
而不是\s+
类似于:\s*(<[^>]*>)
因为你没有将字符串连接到正则表达式更好的是:
var htmlTagRegex =/\s*(<[^>]*>)/g
输入字符串没有正确使用双引号,也没有编译,你需要混合单引号和双引号:
'<div class="tab0">CSS code formatter</div><div class="tab2">CSS code compressor</div>';
一起看起来像
var htmlTagRegex =/\s*(<[^>]*>)/g
var str = '<div class="tab0">CSS code formatter</div><div class="tab2">CSS code compressor</div>';
var myArray = str.split(htmlTagRegex);
//outputs ["", "<div class="tab0">", "CSS code formatter", "</div>", "", "<div class="tab2">", "CSS code compressor", "</div>", ""]
它似乎在我的最终工作正常。
答案 1 :(得分:0)
字符串来自mysql。这包括html标签。
我这样使用:var htmlTagRegex = / \ s |(&lt; [^&gt;] *&gt;)/ g;
但结果不是我想要的。
["","CSS","code","formatter","<div class="tab0"></div>","","CSS","code","compressor","<div class="tab1"></div>"]
我想要这样
["<div class="tab0">","CSS","code","formatter","","<div class="tab1">","CSS","code","compressor","</div>"]