正则表达式修复whitesprace周围的标签

时间:2017-11-23 22:24:21

标签: javascript regex

我目前正在使用.replace(/>\s+</g,'><')删除HTML标记之间的空格。

这将取代:

<hello> a b c </hello> <world> x y z </world>

使用:

<hello> a b c </hello><world> x y z </world>

我想更新此函数以获得以下结果:

<hello>a b c</hello><world>x y z</world>

如何重新定义此正则表达式以删除围绕内部标记内容的新行,空格和制表符?

2 个答案:

答案 0 :(得分:2)

用两步替换它

代码示例:

x = `<hello> 
a b c </hello> <world>
 x y z 
 </world>`;
x = x.replace(/>\s*/g, '>');
x = x.replace(/\s*</g, '<');
console.log(x);

输出:

<hello>a b c</hello><world>x y z</world>

答案 1 :(得分:2)

尝试这样的事情:

"<hello> a b c </hello> <world> x y z </world>".replace(/\s*(<\/?.*?\/?>)\s*/g, "$1")

打印:

"<hello>a b c</hello><world>x y z</world>"

说明:

\s* - 标签前的0或n个空格

(<\/?.*?\/?>) - 标记,<...></...><.../>,已捕获

\s* - 标记后的0或n个空格

将捕获的标记放回字符串中减去未捕获的匹配空格