有没有人有一个现有的,经过验证的javascript方法,可以将纯文本字符串转换为等效的正则表达式字符串,并使用转义符(' \'为所有正则表达式控制字符添加?
答案 0 :(得分:1)
这是一个非常常见的被忽视的问题。我希望这个例程有所帮助。
/** add escapes for regexp special characters to turn plainText into a verbatim regexp string
*
* @param plainText plain text string that may contain characters that need to be escaped to become a regexp
* @returns {string} modified string that will work within a regexp
*/
regexpEscape: function (plainText) {
//noinspection JSLint
return plainText.replace(/([-()\[\]{}+?*.$\^|,:#<!\/\\])/g, '\\$1');
},