正则表达式只匹配特定的空格

Regex only match specific whitespaces

我有一些 javascript 代码,我想使用正则表达式将其缩小。

我的目标是转这个:

function mFunct(variable){
var a, b, c;
new Class();
}

进入这个:

function mFunct(variable){var a,b,c;new Class();}

我试过这个正则表达式:

(?:(new|var|function)\s)|\s

但它 selects var a 来自 javascript 代码,其中包含一个关键的空格。

我如何更改正则表达式,使其不 select?

您可以使用 negative lookbehind 来确保只匹配前面没有关键字的空格:

(?<!function|var|new)\s

参见here。我们看不到突出显示的换行符,它们没有宽度和全部,但在右侧的列表中您可以看到匹配的字符。删除所有匹配的字符应该会得到所需的输出。