正则表达式按字或标记分割

时间:2012-10-03 10:30:25

标签: javascript regex

如何在Javascript中使用正则表达式以按字​​(utf8)或标签分割文本?例如,给出以下内容:

Lorem ipsum dolor <b>sid</b> amet et <a href="asdasd">amet et</a> fugit

我想把它分开:

Lorem 
ipsum 
dolor 
<b>
sid
</b> 
amet 
et 
<a href="asdasd">
amet
et
</a>
fugit

3 个答案:

答案 0 :(得分:5)

使用此正则表达式<.+?>|\S+(?=<)|\S+

答案 1 :(得分:1)

这应该这样做:

myString.match(/<[^>]*>|[^\s<]+/g)

答案 2 :(得分:0)

看起来像这样

(?s)(?:<.+?>)|(?:\S+)

您将获得一系列匹配。

编辑:

(?s)(?:<.+?>)|(?:\S+(?=<))|(?:\S+)