使用Javascript regEx匹配字符串中的空格但忽略HTML标记中的空格?

时间:2016-07-14 10:43:44

标签: javascript html regex

示例字符串:

<div class="test">Hey </div> http://www.w3schools.com/html <a href="http://www.w3schools.com/html/">Visit our HTML tutorial</a> hello cool world

我需要一些regEx来按空格分割字符串得到结果为:

['<div class="test">Hey </div>', 'http://www.w3schools.com/html', '<a href="http://www.w3schools.com/html/">Visit our HTML tutorial</a>', 'hello', 'cool', 'world']

已经找到了一些regEx,但它匹配HTML标记之间的空格。

\s(?=[^>]*(?:<|$))

1 个答案:

答案 0 :(得分:1)

尝试以下解决方案。

var str = '<div class="test">Hey </div> http://www.w3schools.com/html <a href="http://www.w3schools.com/html/">Visit our HTML tutorial</a> hello cool world';
var pattern = /((<([^>]+)>+([^>]+)+<([^>]+)>)|\b([^><\s]+)\b)/g;
var result;

result = str.match(pattern);

console.log(result);