RegExp.lastMatch ($&)

Non-standard: This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The non-standard lastMatch property is a static and read-only property of regular expressions that contains the last matched characters. RegExp.$& is an alias for this property.


The lastMatch property is static, it is not a property of an individual regular expression object. Instead, you always use it as RegExp.lastMatch or RegExp['$&'].

The value of the lastMatch property is read-only and modified whenever a successful match is made.

You can not use the shorthand alias with the dot property accessor (RegExp.$&), because the parser expects an expression with "&" in that case and a SyntaxError is thrown. Use the bracket notation for property access.


Using lastMatch and $&

const re = /hi/g;
re.test('hi there!');
RegExp.lastMatch; // "hi"
RegExp['$&'];     // "hi"


No specification found

No specification data found for javascript.builtins.RegExp.lastMatch.
Check for problems with this page or contribute a missing spec_url to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Browser compatibility

BCD tables only load in the browser

See also