Javascript 修剪并重用RegExp匹配项以更新字符串

Javascript 修剪并重用RegExp匹配项以更新字符串,javascript,regex,Javascript,Regex,我有一种方法可以删除单词之间的额外空格并修剪字符串的开头和结尾: //删除单词之间的额外空格并修剪字符串的开头和结尾 String.prototype.trimmer=函数(){ 返回字符串(this).replace(/^\s+|\s+$|\s+(?=\s)/g'); }; const text=“这是!!!未修剪:::正确…”; console.log(text.trimmer())首先查找所有符号,!?:(包括空格)。然后使用这些“匹配项”替换所有空格,并仅在末尾添加一个空格。不确定是否

我有一种方法可以删除单词之间的额外空格并修剪字符串的开头和结尾:

//删除单词之间的额外空格并修剪字符串的开头和结尾
String.prototype.trimmer=函数(){
返回字符串(this).replace(/^\s+|\s+$|\s+(?=\s)/g');
};
const text=“这是!!!未修剪:::正确…”;

console.log(text.trimmer())首先查找所有符号
,!?:(包括空格)。然后使用这些“匹配项”替换所有空格,并仅在末尾添加一个空格。不确定是否可以使用单个正则表达式获得相同的结果。就好像是这样

String.prototype.trimmer=function(){
返回字符串(此)。替换(
/([\.\,\!\:\?]+)/g,
功能(匹配){
返回match.replace(//g',)+'';
}
).trim()//删除字符串开头和结尾的空格
};
const text=“这是!!!未修剪:::正确…”;

console.log(text.trimmer())首先查找所有符号
,!?:(包括空格)。然后使用这些“匹配项”替换所有空格,并仅在末尾添加一个空格。不确定是否可以使用单个正则表达式获得相同的结果。就好像是这样

String.prototype.trimmer=function(){
返回字符串(此)。替换(
/([\.\,\!\:\?]+)/g,
功能(匹配){
返回match.replace(//g',)+'';
}
).trim()//删除字符串开头和结尾的空格
};
const text=“这是!!!未修剪:::正确…”;

console.log(text.trimmer())您还可以通过一系列正则表达式替换来实现这一点:

函数文本(str){
返回str
.replace(/\s+([,!?:\.]+)/g,“$1')//从标点符号中修剪前导空格
.replace(/([,!?:\.])(?![,!?:\.])/g,“$1”)//在最后一个标点符号后添加空格
.replace(//\s\s+/g',)//删除多余的空格
.trim()//修剪前导空格和尾随空格
}
const text=“这是!!!未修剪:::正确…”;

log('=>'+trimText(text)+'您还可以通过一系列正则表达式替换来实现这一点:

函数文本(str){
返回str
.replace(/\s+([,!?:\.]+)/g,“$1')//从标点符号中修剪前导空格
.replace(/([,!?:\.])(?![,!?:\.])/g,“$1”)//在最后一个标点符号后添加空格
.replace(//\s\s+/g',)//删除多余的空格
.trim()//修剪前导空格和尾随空格
}
const text=“这是!!!未修剪:::正确…”;
console.log('==>'+trimText(text)+'