首页 > 解决方案 > 正则表达式只匹配特定的空格

问题描述

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

我的目标是把这个:

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

进入这个:

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

我试过这个正则表达式:

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

但它var a从 javascript 代码中选择,其中包含一个关键的空格。

如何更改正则表达式使其不选择它?

标签: regexwhitespaceremoving-whitespace

解决方案


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

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

这里。我们看不到突出显示的换行符,它们没有宽度,但在右侧的列表中,您可以看到匹配的字符。删除所有这些匹配的字符应该会给出所需的输出。


推荐阅读