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:

    descriptionvalue
    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\\)'
Did you find this page helpful?