是否可以按空格分割字符串" "并忽略其中的html标签?
html标签可能包含样式元素,如:style =" font-size:14px;颜色:rgb(0,0,0)" .....
我正在谈论的字符串是:
<div class="line"><span style="color: rgb(0,0,0)">John</span><u> has</u><b> apples</b></div>
如果您看到我在u
标记内和b
标记内有空格字符
我想要得到的是要分割的文本
<div class="line"><span style="color: rgb(0,0,0)">John</span><u>
has</u><b>
apples</b></div>
我有以下正则表达式,但它没有给我剩余的字符串,只是前两部分:
[\<].+?[\>]\s
答案 0 :(得分:1)
使用以下正则表达式进行拆分:
str.split(/ (?=[^>]*(?:<|$))/)
[
"<div class="line"><span style="color: rgb(0,0,0)">John</span><u>",
"has</u><b>",
"apples</b></div>"
]
?=
是预见。它说,&#34;找到空格,后跟一些字符序列 NOT 大于符号,然后是小于号(或字符串结尾)。
?:
是非捕获组。我们在这里需要它,因为split
有一个特殊的行为:捕获组的存在告诉它在所得的数组中包含拆分器,这是我们不想要的。