RegExp.prototype.global
Baseline Widely 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.
In this article
Try it
const regex1 = /foo/g;console.log(regex1.global);// Expected output: trueconst regex2 = /bar/i;console.log(regex2.global);// Expected output: falseDescription
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 globalRegex = /foo/g;const str = "fooexamplefoo";console.log(str.replace(globalRegex, "")); // exampleconst nonGlobalRegex = /foo/;console.log(str.replace(nonGlobalRegex, "")); // examplefooSpecifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-get-regexp.prototype.global> |