Skip to content

noEmptyCharacterClassInRegex

诊断类别:lint/correctness/noEmptyCharacterClassInRegex

¥Diagnostic Category: lint/correctness/noEmptyCharacterClassInRegex

自从:v1.3.0

¥Since: v1.3.0

来源:

¥Sources:

禁止正则表达式文字中的空字符类。

¥Disallow empty character classes in regular expression literals.

空字符类不匹配任何内容。相比之下,否定的空类匹配任何字符。它们通常是打字错误的结果。

¥Empty character classes don’t match anything. In contrast, negated empty classes match any character. They are often the result of a typing mistake.

¥Examples

¥Invalid

/^a[]/.test("a"); // false
code-block.js:1:4 lint/correctness/noEmptyCharacterClassInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The regular expression includes this empty character class.

> 1 │ /^a[]/.test(“a”); // false
^^
2 │

Empty character classes don’t match anything.
If you want to match against [, escape it \[.
Otherwise, remove the character class or fill it.

/^a[^]/.test("ax"); // true
code-block.js:1:4 lint/correctness/noEmptyCharacterClassInRegex ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The regular expression includes this negated empty character class.

> 1 │ /^a[^]/.test(“ax”); // true
^^^
2 │

Negated empty character classes match anything.
If you want to match against [, escape it \[.
Otherwise, remove the character class or fill it.

¥Valid

/^a[xy]/.test("ay"); // true
/^a[^xy]/.test("ab"); // true
/^a\[]/.test("a[]"); // true

¥Related links