Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions features/regexp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Regular expressions
description: The `RegExp` object represents a regular expression, a notation for matching text patterns.
spec: https://tc39.es/ecma262/multipage/text-processing.html#sec-regexp-regular-expression-objects
status:
compute_from: javascript.builtins.RegExp
compat_features:
- javascript.builtins.RegExp
- javascript.builtins.RegExp.@@match
- javascript.builtins.RegExp.@@matchAll
- javascript.builtins.RegExp.@@replace
- javascript.builtins.RegExp.@@search
- javascript.builtins.RegExp.@@species
- javascript.builtins.RegExp.@@split
- javascript.builtins.RegExp.dotAll
- javascript.builtins.RegExp.exec
- javascript.builtins.RegExp.flags
- javascript.builtins.RegExp.global
- javascript.builtins.RegExp.global.prototype_accessor
- javascript.builtins.RegExp.hasIndices
- javascript.builtins.RegExp.ignoreCase
- javascript.builtins.RegExp.ignoreCase.prototype_accessor
- javascript.builtins.RegExp.lastIndex
- javascript.builtins.RegExp.multiline
- javascript.builtins.RegExp.multiline.prototype_accessor
- javascript.builtins.RegExp.RegExp
- javascript.builtins.RegExp.source
- javascript.builtins.RegExp.source.empty_regex_string
- javascript.builtins.RegExp.source.escaping
- javascript.builtins.RegExp.source.prototype_accessor
- javascript.builtins.RegExp.sticky
- javascript.builtins.RegExp.sticky.anchored_sticky_flag
- javascript.builtins.RegExp.sticky.prototype_accessor
- javascript.builtins.RegExp.test
- javascript.builtins.RegExp.toString
- javascript.builtins.RegExp.toString.escaping
- javascript.builtins.RegExp.unicode
- javascript.builtins.RegExp.unicodeSets
- javascript.grammar.regular_expression_literals
- javascript.regular_expressions.backreference
- javascript.regular_expressions.capturing_group
- javascript.regular_expressions.character_class
- javascript.regular_expressions.character_class_escape
- javascript.regular_expressions.character_escape
- javascript.regular_expressions.character_escape.unicode
- javascript.regular_expressions.disjunction
- javascript.regular_expressions.input_boundary_assertion
- javascript.regular_expressions.literal_character
- javascript.regular_expressions.lookahead_assertion
- javascript.regular_expressions.lookbehind_assertion
- javascript.regular_expressions.modifier
- javascript.regular_expressions.named_backreference
- javascript.regular_expressions.named_capturing_group
- javascript.regular_expressions.named_capturing_group.duplicate_named_capturing_groups
- javascript.regular_expressions.non_capturing_group
- javascript.regular_expressions.quantifier
- javascript.regular_expressions.unicode_character_class_escape
- javascript.regular_expressions.wildcard
- javascript.regular_expressions.word_boundary_assertion
308 changes: 308 additions & 0 deletions features/regexp.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,308 @@
# Generated from: regexp.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: high
baseline_low_date: 2015-07-29
baseline_high_date: 2018-01-29
support:
chrome: "1"
chrome_android: "18"
edge: "12"
firefox: "1"
firefox_android: "4"
safari: "1"
safari_ios: "1"
compat_features:
# ⬇️ Same status as overall feature ⬇️
# baseline: high
# baseline_low_date: 2015-07-29
# baseline_high_date: 2018-01-29
# support:
# chrome: "1"
# chrome_android: "18"
# edge: "12"
# firefox: "1"
# firefox_android: "4"
# safari: "1"
# safari_ios: "1"
- javascript.builtins.RegExp
- javascript.builtins.RegExp.RegExp
- javascript.builtins.RegExp.exec
- javascript.builtins.RegExp.global
- javascript.builtins.RegExp.ignoreCase
- javascript.builtins.RegExp.lastIndex
- javascript.builtins.RegExp.multiline
- javascript.builtins.RegExp.source
- javascript.builtins.RegExp.test
- javascript.builtins.RegExp.toString
- javascript.grammar.regular_expression_literals
- javascript.regular_expressions.backreference
- javascript.regular_expressions.capturing_group
- javascript.regular_expressions.character_class
- javascript.regular_expressions.character_class_escape
- javascript.regular_expressions.character_escape
- javascript.regular_expressions.disjunction
- javascript.regular_expressions.input_boundary_assertion
- javascript.regular_expressions.literal_character
- javascript.regular_expressions.lookahead_assertion
- javascript.regular_expressions.non_capturing_group
- javascript.regular_expressions.quantifier
- javascript.regular_expressions.wildcard
- javascript.regular_expressions.word_boundary_assertion

# baseline: high
# baseline_low_date: 2015-07-29
# baseline_high_date: 2018-01-29
# support:
# chrome: "6"
# chrome_android: "18"
# edge: "12"
# firefox: "38"
# firefox_android: "38"
# safari: "5"
# safari_ios: "4.2"
- javascript.builtins.RegExp.source.empty_regex_string

# baseline: high
# baseline_low_date: 2016-01-26
# baseline_high_date: 2018-07-26
# support:
# chrome: "48"
# chrome_android: "48"
# edge: "12"
# firefox: "38"
# firefox_android: "38"
# safari: "1.3"
# safari_ios: "1"
- javascript.builtins.RegExp.global.prototype_accessor
- javascript.builtins.RegExp.ignoreCase.prototype_accessor
- javascript.builtins.RegExp.multiline.prototype_accessor

# baseline: high
# baseline_low_date: 2016-01-26
# baseline_high_date: 2018-07-26
# support:
# chrome: "48"
# chrome_android: "48"
# edge: "12"
# firefox: "41"
# firefox_android: "41"
# safari: "1.3"
# safari_ios: "1"
- javascript.builtins.RegExp.source.prototype_accessor

# baseline: high
# baseline_low_date: 2016-09-20
# baseline_high_date: 2019-03-20
# support:
# chrome: "49"
# chrome_android: "49"
# edge: "13"
# firefox: "3"
# firefox_android: "4"
# safari: "10"
# safari_ios: "10"
- javascript.builtins.RegExp.sticky

# baseline: high
# baseline_low_date: 2016-09-20
# baseline_high_date: 2019-03-20
# support:
# chrome: "49"
# chrome_android: "49"
# edge: "13"
# firefox: "38"
# firefox_android: "38"
# safari: "10"
# safari_ios: "10"
- javascript.builtins.RegExp.sticky.prototype_accessor

# baseline: high
# baseline_low_date: 2016-09-20
# baseline_high_date: 2019-03-20
# support:
# chrome: "49"
# chrome_android: "49"
# edge: "13"
# firefox: "44"
# firefox_android: "44"
# safari: "10"
# safari_ios: "10"
- javascript.builtins.RegExp.sticky.anchored_sticky_flag

# baseline: high
# baseline_low_date: 2016-09-20
# baseline_high_date: 2019-03-20
# support:
# chrome: "50"
# chrome_android: "50"
# edge: "12"
# firefox: "46"
# firefox_android: "46"
# safari: "10"
# safari_ios: "10"
- javascript.builtins.RegExp.unicode
- javascript.regular_expressions.character_escape.unicode

# baseline: high
# baseline_low_date: 2016-09-20
# baseline_high_date: 2019-03-20
# support:
# chrome: "50"
# chrome_android: "50"
# edge: "13"
# firefox: "49"
# firefox_android: "49"
# safari: "10"
# safari_ios: "10"
- javascript.builtins.RegExp.@@match
- javascript.builtins.RegExp.@@search

# baseline: high
# baseline_low_date: 2016-09-20
# baseline_high_date: 2019-03-20
# support:
# chrome: "51"
# chrome_android: "51"
# edge: "13"
# firefox: "49"
# firefox_android: "49"
# safari: "10"
# safari_ios: "10"
- javascript.builtins.RegExp.@@species

# baseline: high
# baseline_low_date: 2019-03-12
# baseline_high_date: 2021-09-12
# support:
# chrome: "73"
# chrome_android: "73"
# edge: "12"
# firefox: "38"
# firefox_android: "38"
# safari: "6"
# safari_ios: "6"
- javascript.builtins.RegExp.source.escaping
- javascript.builtins.RegExp.toString.escaping

# baseline: high
# baseline_low_date: 2020-01-15
# baseline_high_date: 2022-07-15
# support:
# chrome: "49"
# chrome_android: "49"
# edge: "79"
# firefox: "37"
# firefox_android: "37"
# safari: "9"
# safari_ios: "9"
- javascript.builtins.RegExp.flags

# baseline: high
# baseline_low_date: 2020-01-15
# baseline_high_date: 2022-07-15
# support:
# chrome: "50"
# chrome_android: "50"
# edge: "79"
# firefox: "49"
# firefox_android: "49"
# safari: "10"
# safari_ios: "10"
- javascript.builtins.RegExp.@@replace
- javascript.builtins.RegExp.@@split

# baseline: high
# baseline_low_date: 2020-01-15
# baseline_high_date: 2022-07-15
# support:
# chrome: "73"
# chrome_android: "73"
# edge: "79"
# firefox: "67"
# firefox_android: "67"
# safari: "13"
# safari_ios: "13"
- javascript.builtins.RegExp.@@matchAll

# baseline: high
# baseline_low_date: 2020-07-28
# baseline_high_date: 2023-01-28
# support:
# chrome: "62"
# chrome_android: "62"
# edge: "79"
# firefox: "78"
# firefox_android: "79"
# safari: "11.1"
# safari_ios: "11.3"
- javascript.builtins.RegExp.dotAll

# baseline: high
# baseline_low_date: 2020-07-28
# baseline_high_date: 2023-01-28
# support:
# chrome: "64"
# chrome_android: "64"
# edge: "79"
# firefox: "78"
# firefox_android: "79"
# safari: "11.1"
# safari_ios: "11.3"
- javascript.regular_expressions.named_backreference
- javascript.regular_expressions.named_capturing_group
- javascript.regular_expressions.unicode_character_class_escape

# baseline: high
# baseline_low_date: 2021-09-20
# baseline_high_date: 2024-03-20
# support:
# chrome: "90"
# chrome_android: "90"
# edge: "90"
# firefox: "88"
# firefox_android: "88"
# safari: "15"
# safari_ios: "15"
- javascript.builtins.RegExp.hasIndices

# baseline: low
# baseline_low_date: 2023-03-27
# support:
# chrome: "62"
# chrome_android: "62"
# edge: "79"
# firefox: "78"
# firefox_android: "79"
# safari: "16.4"
# safari_ios: "16.4"
- javascript.regular_expressions.lookbehind_assertion

# baseline: low
# baseline_low_date: 2023-09-18
# support:
# chrome: "112"
# chrome_android: "112"
# edge: "112"
# firefox: "116"
# firefox_android: "116"
# safari: "17"
# safari_ios: "17"
- javascript.builtins.RegExp.unicodeSets

# baseline: false
# support:
# chrome: "125"
# chrome_android: "125"
# edge: "125"
# safari: "17"
# safari_ios: "17"
- javascript.regular_expressions.named_capturing_group.duplicate_named_capturing_groups

# baseline: false
# support:
# chrome: "125"
# chrome_android: "125"
# edge: "125"
- javascript.regular_expressions.modifier