Skip to content

regexQuestionQuantifiers

Reports quantifiers {0,1} in regular expressions that should use ? instead.

✅ This rule is included in the ts stylisticStrict presets.

Reports quantifiers using {0,1} in regular expressions and suggests using the more concise ? quantifier instead. Both forms are semantically equivalent (matching zero or one of the preceding element), but ? is the idiomatic form.

This rule also reports non-capturing groups with trailing empty alternatives like (?:abc|) and suggests using (?:abc)? instead.

const
const pattern: RegExp
pattern
= /a{0,1}/;
const
const pattern: RegExp
pattern
= /a{0,1}?/;
const
const pattern: RegExp
pattern
= /(ab){0,1}/;
const
const pattern: RegExp
pattern
= /(?:abc|)/;
const
const pattern: RegExp
pattern
= new
var RegExp: RegExpConstructor
new (pattern: RegExp | string, flags?: string) => RegExp (+2 overloads)
RegExp
("a{0,1}");

This rule is not configurable.

If your project has a style guide that prefers the explicit {0,1} syntax for clarity, or if you are programmatically generating regular expressions where {0,1} is easier to produce, you might want to disable this rule.

Made with ❤️‍🔥 around the world by the Flint team and contributors.