RegExp.prototype.global
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Theglobal
accessor property ofRegExp
instances returns whether or not theg
flag is used with this regular expression.
Try it
const regex1 = /foo/g;console.log(regex1.global);// Expected output: trueconst regex2 = /bar/i;console.log(regex2.global);// Expected output: false
Description
RegExp.prototype.global
has the valuetrue
if theg
flag was used; otherwise,false
. Theg
flag indicates that the regular expression should be tested against all possible matches in a string. Each call toexec()
will update itslastIndex
property, so that the next call toexec()
will start at the next character.
Some methods, such asString.prototype.matchAll()
andString.prototype.replaceAll()
, will validate that, if the parameter is a regex, it is global. The regex's[Symbol.match]()
and[Symbol.replace]()
methods (called byString.prototype.match()
andString.prototype.replace()
) would also have different behaviors when the regex is global.
The set accessor ofglobal
isundefined
. You cannot change this property directly.
Examples
Using global
const regex = /foo/g;console.log(regex.global); // trueconst str = "fooexamplefoo";const str1 = str.replace(regex, "");console.log(str1); // exampleconst regex1 = /foo/;const str2 = str.replace(regex1, "");console.log(str2); // examplefoo
Specifications
Specification |
---|
ECMAScript® 2026 Language Specification # sec-get-regexp.prototype.global |