This feature has been removed from the Web standards. Though some browsers may still support it, it is in the process of being dropped. Avoid using it and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

The deprecated compile() method is used to (re-)compile a regular expression during execution of a script. It is basically the same as the RegExp constructor.


regexObj.compile(pattern, flags)


The text of the regular expression.

If specified, flags can have any combination of the following values:

global match
ignore case
multiline; treat beginning and end characters (^ and $) as working over multiple lines (i.e., match the beginning or end of each line (delimited by \n or \r), not only the very beginning or end of the whole input string)
sticky; matches only from the index indicated by the lastIndex property of this regular expression in the target string (and does not attempt to match from any later indexes).


 The compile method is deprecated. You can just use the RegExp constructor to achieve the same effect.


Using compile()

The following example shows how to recompile a regular expression with a new pattern and a new flag.

var regexObj = new RegExp('foo', 'gi'); 
regexObj.compile('new foo', 'g');


Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'RegExp.prototype.compile' in that specification.
Standard Initial definition. Defined in the (normative) Annex B for Additional ECMAScript Features for Web Browsers.
ECMAScript 2017 Draft (ECMA-262)
The definition of 'RegExp.prototype.compile' in that specification.
Draft Defined in the (normative) Annex B for Additional ECMAScript Features for Web Browsers.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

See also

Document Tags and Contributors

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