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 {
    // throws...
    rescape( null );
} 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\\)'