如何在javascript中实现lookbehind正则表达式?

时间:2017-02-19 14:47:09

标签: javascript regex

我有一个字符串:

<p>text1</p>
<p>text2 <span class="theClass">text3</span></p>

我需要实现的是将此字符串拆分为包含html标记和纯文本的数组。类似的东西:

var array= ["<p>", "text1", "</p>", ...];

我已尝试使用regexp:/(?=<)|(?<=>)/g,但javascript不允许我使用lookbehind表达式。关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:2)

这应该适合你:

&#13;
&#13;
const data = `<p>text1</p>
<p>text2 <span class="theClass">text3</span></p>`

const split = data => data.split(/(<.*?>)/g).filter(x => x.trim())

console.log(split(data))
&#13;
&#13;
&#13;