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 $&

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


Non-standard. Not part of any current specification.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes1 Yes Yes Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes4 Yes Yes Yes

See also

Document Tags and Contributors

Contributors to this page: fscholz, jameshkramer, nmve
Last updated by: fscholz,