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\\)'