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.
Examples
Section titled “Examples”Greedy Quantifier
Section titled “Greedy Quantifier”const pattern = /a{0,1}/;const pattern = /a?/;Lazy Quantifier
Section titled “Lazy Quantifier”const pattern = /a{0,1}?/;const pattern = /a??/;Groups
Section titled “Groups”const pattern = /(ab){0,1}/;const pattern = /(ab)?/;Trailing Empty Alternative
Section titled “Trailing Empty Alternative”const pattern = /(?:abc|)/;const pattern = /(?:abc)?/;RegExp Constructor
Section titled “RegExp Constructor”const pattern = new RegExp("a{0,1}");const pattern = new RegExp("a?");Options
Section titled “Options”This rule is not configurable.
When Not To Use It
Section titled “When Not To Use It”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.
Further Reading
Section titled “Further Reading”Equivalents in Other Linters
Section titled “Equivalents in Other Linters”
Made with ❤️🔥 in Boston by
Josh Goldberg and contributors.