有没有人有一个功能来将转义字符添加到纯文本字符串,以便它可以在javascript中的正则表达式中逐字处理?

时间:2014-01-24 21:21:21

标签: javascript regex escaping

有没有人有一个现有的,经过验证的javascript方法,可以将纯文本字符串转换为等效的正则表达式字符串,并使用转义符(' \'为所有正则表达式控制字符添加?

1 个答案:

答案 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');
   },