coderef

Regular expressionsBaseline · Widely available

The RegExp object represents a regular expression, a notation for matching text patterns.

Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Jul 29, 2015. Widely available since Jan 29, 2018.

Browser support

DesktopChrome
1+Supportedsince Dec 11, 2008
Current: 155
Edge
12+Supportedsince Jul 29, 2015
Current: 154
Firefox
1+Supportedsince Nov 9, 2004
Current: 157
Safari
1+Supportedsince Jun 23, 2003
Current: 27
MobileChrome Android
18+Supportedsince Jun 27, 2012
Current: 155
Firefox Android
4+Supportedsince Mar 29, 2011
Current: 157
Safari iOS
1+Supportedsince Jun 29, 2007
Current: 27

How to use

This feature is Baseline widely available — use it freely, no fallback needed.

Example

Full syntax and examples are on MDN: RegExp.

Feature detection

JS · check before using
if (typeof RegExp !== "undefined") {
  // RegExp is available
}

Sub-features

Support for each part of the feature (52). The overall table above shows when the whole feature works.

Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
RegExp112111841
RegExp.@@match50134910504910
RegExp.@@matchAll73796713736713
RegExp.@@replace50794910504910
RegExp.@@search50134910504910
RegExp.@@species51134910514910
RegExp.@@split50794910504910
RegExp.RegExp112111841
RegExp.dotAll62797811.1627911.3
RegExp.exec112111841
RegExp.flags497937949379
RegExp.global112111841
RegExp.global.prototype_accessor4812381.348381
RegExp.hasIndices90908815908815
RegExp.ignoreCase112111841
RegExp.ignoreCase.prototype_accessor4812381.348381
RegExp.lastIndex112111841
RegExp.multiline112111841
RegExp.multiline.prototype_accessor4812381.348381
RegExp.source112111841
Show 32 more
Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
RegExp.source.empty_regex_string61238518384.2
RegExp.source.escaping731238673386
RegExp.source.prototype_accessor4812411.348411
RegExp.sticky491331049410
RegExp.sticky.anchored_sticky_flag49134410494410
RegExp.sticky.prototype_accessor49133810493810
RegExp.test112111841
RegExp.toString112111841
RegExp.toString.escaping731238673386
RegExp.unicode50124610504610
RegExp.unicodeSets1121121161711211617
regular_expression_literals112111841
javascript.regular_expressions.backreference112111841
javascript.regular_expressions.capturing_group112111841
javascript.regular_expressions.character_class112111841
javascript.regular_expressions.character_class_escape112111841
javascript.regular_expressions.character_escape112111841
javascript.regular_expressions.character_escape.unicode50124610504610
javascript.regular_expressions.disjunction112111841
javascript.regular_expressions.input_boundary_assertion112111841
javascript.regular_expressions.literal_character112111841
javascript.regular_expressions.lookahead_assertion112111841
javascript.regular_expressions.lookbehind_assertion62797816.4627916.4
javascript.regular_expressions.modifier1251251322612513226
javascript.regular_expressions.named_backreference64797811.1647911.3
javascript.regular_expressions.named_capturing_group64797811.1647911.3
javascript.regular_expressions.named_capturing_group.duplicate_named_capturing_groups1251251291712512917
javascript.regular_expressions.non_capturing_group112111841
javascript.regular_expressions.quantifier112111841
javascript.regular_expressions.unicode_character_class_escape64797811.1647911.3
javascript.regular_expressions.wildcard112111841
javascript.regular_expressions.word_boundary_assertion112111841