chakra-core / chakra-core/ChakraCore

[RegExp] Exceptions for RegExp in Annex B of the ES2017 spec shouldn't be applied when the "unicode" flag is present

Open
#518 1 comment 0 reactions 0 assignees View on GitHub
Bug help wanted Severity: 2
Dominant language
JavaScript
Stars
9.3k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

Annex B.1.4 contains exceptions that allow web browsers to diverge from the normal RegExp grammar. These exceptions aren't allowed when the "unicode" flag is present, but our current implementation doesn't take this into account.

There are many exceptions, but a few examples would be:
- PatternCharacter: {
- CharacterClassEscape: [\d-a]
- DecimalEscape: \3 when the number of capturing parentheses is less than 3
- IdentityEscape: \h, \u
- QuantifiableAssertion Quantifier: (?!.)+

The above should throw a SyntaxError when used as, e.g.,`/{/u`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.