escapeRegExp.js (871B)
1 var toString = require('./toString'); 2 3 /** 4 * Used to match `RegExp` 5 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). 6 */ 7 var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, 8 reHasRegExpChar = RegExp(reRegExpChar.source); 9 10 /** 11 * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", 12 * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. 13 * 14 * @static 15 * @memberOf _ 16 * @since 3.0.0 17 * @category String 18 * @param {string} [string=''] The string to escape. 19 * @returns {string} Returns the escaped string. 20 * @example 21 * 22 * _.escapeRegExp('[lodash](https://lodash.com/)'); 23 * // => '\[lodash\]\(https://lodash\.com/\)' 24 */ 25 function escapeRegExp(string) { 26 string = toString(string); 27 return (string && reHasRegExpChar.test(string)) 28 ? string.replace(reRegExpChar, '\\$&') 29 : string; 30 } 31 32 module.exports = escapeRegExp;