rescape
Escape a regular expression string or pattern.
Usage
var rescape = require( '@stdlib/utils/escape-regexp-string' );
rescape( str )
Escapes a regular expression string
or pattern.
var str = rescape( '/[A-Z]*/' );
// returns '/\\[A\\-Z\\]\\*/'
str = rescape( '[A-Z]*' );
// returns '\\[A\\-Z\\]\\*'
If provided a value which is not a primitive string
, the function throws a TypeError
.
try {
rescape( null );
// throws an error...
} catch ( err ) {
console.error( err );
}
The following characters have special meaning inside of regular expressions and need to be escaped in case the characters should be treated literally:
description value Backslash \
Braces { }
Brackets [ ]
Caret ^
Dollar Sign $
Forward Slash /
Asterisk *
Parentheses ( )
Period .
Plus Sign +
Vertical Bar |
Question Mark ?
Examples
var rescape = require( '@stdlib/utils/escape-regexp-string' );
var out = rescape( '/beep/' );
// returns '/beep/'
out = rescape( 'beep' );
// returns 'beep'
out = rescape( '/[A-Z]*/' );
// returns '/\\[A\\-Z\\]\\*/'
out = rescape( '[A-Z]*' );
// returns '\\[A\\-Z\\]\\*'
out = rescape( '/\\\//ig' );
// returns '/\\\\\\\//ig'
out = rescape( '\\\/' );
// returns '\\\\\\\/'
out = rescape( '/[A-Z]{0,}/' );
// returns '/\\[A\\-Z\\]\\{0,\\}/'
out = rescape( '[A-Z]{0,}' );
// returns '\\[A\\-Z\\]\\{0,\\}'
out = rescape( '/^boop$/' );
// returns '/\\^boop\\$/'
out = rescape( '^boop$' );
// returns '\\^boop\\$'
out = rescape( '/(?:.*)/' );
// returns '/\\(\\?:\\.\\*\\)/'
out = rescape( '(?:.*)' );
// returns '\\(\\?:\\.\\*\\)'
out = rescape( '/(?:beep|boop)/' );
// returns '/\\(\\?:beep\\|boop\\)/'
out = rescape( '(?:beep|boop)' );
// returns '\\(\\?:beep\\|boop\\)'