var k='<html><div id="test">it is interesting</div></html>';
var a=k.match(/(<.+?>)|([^ ]+?(?=[ <]))/g);
console.log(a); // ["<html>", "<div id="test">", "it", "is", "interesting", "</div>", "</html>"]
更新:文字列に部分文字列"<>"
(HTML では無効) を含めることができる場合は、少し変更して正規表現を使用してみてください。/(<.*?>)|([^ ]+?(?=[ <]))/g
更新:\n\r\t
シンボル (改行、キャリッジ リターン、タブ) をスペースとして解釈する必要がある場合は、次の正規表現を使用してみてください/(<.*?>)|(\S+?(?=[\s<]))/g
:*
+
var k,a,rg=/(<.*?>)|(\S+?(?=[\s<]))/g;
k='<html><div id="test"> it is interesting</div></html>';
a=k.match(rg);
console.log(a); // ["<html>", "<div id="test">", "it", "is", "interesting", "</div>", "</html>"]
k='<div class=\"Normal\" algoscore=\"338\">\n <p><img src=\"/getBinaryFile.php?Id=69\" /></p>\n';
a=k.match(rg);
console.log(a); // ["<div class="Normal" algoscore="338">", "<p>", "<img c="/getBinaryFile.php?Id=69" />", "</p>"]