Versions

no-regex-spaces

Disallow multiple spaces in regular expressions

Recommended

The "extends": "eslint:recommended" property in a configuration file enables this rule

🔧 Fixable

Some problems reported by this rule are automatically fixable by the --fix command line option

正则表达式可能非常复杂且难以理解,这就是为什么为了避免错误而尽可能保持其简单的原因。在正则表达式中,一个比较容易出错的地方是使用一个以上的空格,如:

var re = /foo   bar/;

在这个正则表达式中,很难说出有多少个空格要被匹配。最好是只使用一个空格,然后指定预计有多少个空格,例如:

var re = /foo {3}bar/;

现在非常清楚的是,有三个空间预计将被匹配。

规则细节

这条规则不允许在正则表达式字面上有多个空格。

使用此规则的错误示例:

Open in Playground
/*eslint no-regex-spaces: "error"*/

var re = /foo   bar/;
var re = new RegExp("foo   bar");

使用此规则的正确示例:

Open in Playground
/*eslint no-regex-spaces: "error"*/

var re = /foo {3}bar/;
var re = new RegExp("foo {3}bar");

何时不用

如果你想在正则表达式中允许多个空格,那么你可以安全地关闭这个规则。

Version

This rule was introduced in ESLint v0.4.0.

Resources

更改语言