no-empty-character-class
禁止在正则表达式中使用空字符类
✅ 推荐
在 配置文件中使用来自 @eslint/js
的 recommended
配置会启用此规则
由于正则表达式中的空字符类不匹配任何内容,因此它们可能是打字错误。
var foo = /^abc[]/;
规则详细信息
此规则禁止在正则表达式中使用空字符类。
此规则的 **不正确** 代码示例
在游乐场中打开
/*eslint no-empty-character-class: "error"*/
.test("abcdefg"); // false
"abcdefg".match(); // null
.test("abcdefg"); // false
"abcdefg".match(); // null
.test("abcdefg"); // false
"abcdefg".match(); // null
.test("abcdefg"); // false
"abcdefg".match(); // null
const regex = ;
regex.test("abcdefg"); // true, the nested `[]` has no effect
"abcdefg".match(regex); // ["abcd"]
regex.test("abcefg"); // false, the nested `[]` has no effect
"abcefg".match(regex); // null
regex.test("abc"); // false, the nested `[]` has no effect
"abc".match(regex); // null
此规则的 **正确** 代码示例
在游乐场中打开
/*eslint no-empty-character-class: "error"*/
/^abc/.test("abcdefg"); // true
"abcdefg".match(/^abc/); // ["abc"]
/^abc[a-z]/.test("abcdefg"); // true
"abcdefg".match(/^abc[a-z]/); // ["abcd"]
/^abc[^]/.test("abcdefg"); // true
"abcdefg".match(/^abc[^]/); // ["abcd"]
已知限制
此规则不会报告对 RegExp
构造函数的调用中字符串参数的空字符类。
此规则报告正确代码时的 *误报* 示例
/*eslint no-empty-character-class: "error"*/
var abcNeverMatches = new RegExp("^abc[]");
版本
此规则是在 ESLint v0.22.0 中引入的。