Javascript 如何编写正则表达式来删除HTMl缩略器的标记和单词之间的空白

Javascript 如何编写正则表达式来删除HTMl缩略器的标记和单词之间的空白,javascript,html,regex,node.js,minify,Javascript,Html,Regex,Node.js,Minify,我正在构建一个非常简单的HTML迷你程序。到目前为止还不错 var file=process.argv[2], html=“”, fs=require(“fs”) html=fs.readFileSync(文件“utf8”); string=html.replace(/\n/g,“”); var x=string.replace(/[\t]+\[\t]+\[\t]+$/g,“>”); console.log(z) 返回字符串:Hello 如何编写正则表达式以消除单词和标记之间(前后)出现的任何

我正在构建一个非常简单的HTML迷你程序。到目前为止还不错

var file=process.argv[2],
html=“”,
fs=require(“fs”)

html=fs.readFileSync(文件“utf8”);
string=html.replace(/\n/g,“”);
var x=string.replace(/[\t]+\[\t]+\[\t]+$/g,“>”);
console.log(z)
返回字符串:

Hello

如何编写正则表达式以消除单词和标记之间(前后)出现的任何空格?应该返回:

Hello

您可以使用
trim()
方法除去没有regexp的空白空间

你可以在网上找到一个例子

见:


这应该适合您:

var html = '<div id="hello"><p class="new">            Hello  friend  </p></div>';

var result = html.replace(/>\s+|\s+</g, function(m) {
    return m.trim();
});
var html='

Hello friend


var result=html.replace(/>\s+|\s+用字符串替换任何不小于号的序列,该字符串将其中的多个空格压缩为单个空格:

str.replace(/[^<]+/g, function(match) { return match.replace(/\s+/, ' '); });

< "<div id="hello"><p class="new"> Hello</p></div>"

str.replace(/[^Try
str=str.replace(/\s+//g,”)
@Tushar实际上,这并不能满足我的需要。它正在删除所有的空格,包括标记和属性之间的空格。这就是为什么你需要空格作为
replace
Tushar的regex的第二个参数是错误的。我甚至不知道为什么人们会对它进行投票。它将替换所有的空格(倍数或其他)只有一个空格。这是不正确的,不是OP要求的。您需要在“Hello”之前保留空格除非您想更改HTML的含义。
trim
部分是多余的,因为第一个和最后一个标记之前或之后的任何空格都将被您的正则表达式替换。这是一个很好的解决方案。另一个很好的解决方案是Tushar在问题注释中的解决方案。
str=str.replace(/\s+/g'));
不幸的是,这会删除重要的空格。例如,“Hello”之前的空格应该减少到一个空格,而不是删除。@turazaburo-OP asquid for>HelloHe他要求的是错误的内容,这会改变HTML的含义,所以一个好的答案的一部分是指出这一点并提供正确的解决方案。
var html = '<div id="hello"><p class="new">            Hello  friend  </p></div>';

var result = html.replace(/>\s+|\s+</g, function(m) {
    return m.trim();
});
str.replace(/[^<]+/g, function(match) { return match.replace(/\s+/, ' '); });

< "<div id="hello"><p class="new"> Hello</p></div>"