Skip to content

regex-shorthand fixer does not escape RegExp constructor strings properly #178

@MrHen

Description

@MrHen

Rule:

"unicorn/regex-shorthand": "error",

Original code:

const numberRegex = new RegExp('(?=.*[0-9])');

Fixed code:

const numberRegex = new RegExp('(?=.*\d)');

Should be:

const numberRegex = new RegExp('(?=.*\\d)');

Example of altered behavior:


const original = new RegExp('(?=.*[0-9])');
const actual = new RegExp('(?=.*\d)');
const expected = new RegExp('(?=.*\\d)');

console.log({
  original: original.test('aaa111'), // true
  actual: actual.test('aaa111'),     // false
  expected: expected.test('aaa111'), // true
});

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions