eslint-plugin-regexp icon indicating copy to clipboard operation
eslint-plugin-regexp copied to clipboard

Applying fix for regexp/optimal-quantifier-concatenation break the regex logic

Open Eugeno opened this issue 2 months ago • 1 comments

Information:

  • ESLint version: 8.57.0
  • eslint-plugin-regexp version: 2.5.0

Description Current regex is /^(?!.*(?=.*-)(?=.*,)).*$/ (disallow usage of both comma and dash).

/^(?!.*(?=.*-)(?=.*,)).*$/.test('1,2-3'); // false ✓

I got 3 errors here, one of them: '.*' can be removed because it is already included by '.*'.(regexp/optimal-quantifier-concatenation). After applying the fix:

/^(?!.*(?=-)(?=.*,)).*$/.test('1,2-3'); // true ✗

Further autofixes give the same false positive result:

/^(?!.*(?=-).+,).*$/.test('1,2-3'); // true ✗

Eugeno avatar Apr 23 '24 10:04 Eugeno