tc39 / proposal-regexp-r-escape

Regular Expression `\R` Escape for ECMAScript
https://tc39.es/proposal-regexp-r-escape
BSD 3-Clause "New" or "Revised" License
5 stars 2 forks source link

Regular Expression \R Escape for ECMAScript

Status

Stage: 1
Champion: Ron Buckton (@rbuckton)

For detailed status of this proposal see TODO, below.

Authors

Motivations

NOTE: See https://github.com/rbuckton/proposal-regexp-features for an overview of how this proposal fits into other possible future features for Regular Expressions.

The \R escape sequence matches the various sets of code points that match a unicode line terminator, which can be difficult to write correctly.

Prior Art

See https://rbuckton.github.io/regexp-features/features/line-endings-escape.html for additional information.

Syntax

NOTE: Requires the u or v flags, as \R is currently just an escape for R without the u flag.

NOTE: Not supported inside of a character class.

Semantics

NOTE: The above example uses atomic groups (?>) to prevent backtracking when matching \r\n?. Atomic groups is proposed here.

Examples

// split lines regardless of line termiantor style
const lines = fs.readFileSync("file.txt", "utf8").split(/\R/ug);

History

TODO

The following is a high-level list of tasks to progress through each stage of the TC39 proposal process:

Stage 1 Entrance Criteria

Stage 2 Entrance Criteria

Stage 3 Entrance Criteria

Stage 4 Entrance Criteria