time-to-botec/js/node_modules/@stdlib/utils/escape-regexp-string/README.md
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00

3.9 KiB

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