Skip to content

Leading Unicode escapes and surrogate pair escapes are not parsed in RegExp group namesΒ #63995

Description

πŸ”Ž Search Terms

  • Unicode escape sequences
  • extended Unicode escapes, surrogate escapes
  • regular expression group names, regex identifiers
  • bundling & transpilation

πŸ•— Version & Regression Information

⏯ Playground Link

https://www.typescriptlang.org/play/?target=99#code/PQCg-APAhgOgrgBgQNgIwD4CUMDW15Jrq7RTrBwDcAUKJAShtng0SWRTXfnAN6oBmJAgC+WdvH5CkY9oBgNwAA75KrXARJg4WObq+mmcTyLlXNfAAiADgQBhCzaTiWcK7fuOSxzqsiwX1uxcHBCceV0DzYMNoLxUgA

πŸ’» Code

/(?<a\u0061>)\k<a\u0061>\k<aa>/u;             // Correct parsed
/(?<\u0061>)\k<\u0061>\k<a>/u;                // TS1514: Expected a capturing group name.
/(?<a\u{13000}>)\k<a\u{13000}>\k<aπ“€€>/u;       // Correct parsed
/(?<\u{13000}>)\k<\u{13000}>\k<π“€€>/u;          // TS1514: Expected a capturing group name.
/(?<\uD80C\uDC00>)\k<\uD80C\uDC00>\k<π“€€>/u;    // TS1514: Expected a capturing group name.
/(?<a\uD80C\uDC00>)\k<a\uD80C\uDC00>\k<aπ“€€>/u; // TS1005: '>' expected.

πŸ™ Actual behavior

Errors are emitted at the start of Unicode escapes, extended Unicode escapes or surrogate pair escapes of 4 of the lines above.

πŸ™‚ Expected behavior

All group names are correctly parsed and normalised, and no errors are emitted.

Additional information about the issue

Fixed in #63996, this issue is opened only for trackability and bookkeeping purpose.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions