如何使用javascript转义正则表达式特殊字符?[重复]

2020/10/23 19:01 · javascript ·  · 0评论

我需要使用Java脚本转义正则表达式特殊字符。如何实现此目的?


感谢您的快速答复。但是我需要转义所有正则表达式的特殊字符。我已经尝试通过此代码进行操作,但是我无法实现结果。

RegExp.escape=function(str)
            {
                if (!arguments.callee.sRE) {
                    var specials = [
                        '/', '.', '*', '+', '?', '|',
                        '(', ')', '[', ']', '{', '}', '\\'
                    ];
                    arguments.callee.sRE = new RegExp(
                    '(\\' + specials.join('|\\') + ')', 'gim'
                );
                }
                return str.replace(arguments.callee.sRE, '\\$1');

            }

function regExpFind() {
            <%--var regex = new RegExp("\\[munees\\]","gim");--%>
                    var regex= new RegExp(RegExp.escape("[Munees]waran"));
                    <%--var regex=RegExp.escape`enter code here`("[Munees]waran");--%>
                    alert("Reg : "+regex);
                }

我对此代码有何疑问?请指导我。

使用该\字符可以转义在正则表达式内具有特殊含义的字符。

要使其自动化,可以使用以下命令:

function escapeRegExp(text) {
  return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
}

更新:现在有一个建议可以将此方法标准化,可能在ES2016中:https : //github.com/benjamingr/RegExp.escape

更新:上述建议已被拒绝,因此如果需要,请自己继续实施。

使用反斜杠可转义字符。例如:

/\\d/

这将匹配\ d而不是数字字符

\您一起逃脱特殊字符

将特殊字符转义为文字,将文字字符转义为特殊。

例如:/\(s\)/匹配'(s)',同时/(\s)/匹配任何空格并捕获匹配。

来源:http//www.javascriptkit.com/javatutors/redev2.shtml

本文地址:http://javascript.askforanswer.com/ruheshiyongjavascriptzhuanyizhengzebiaodashiteshuzifuzhongfu.html
文章标签: ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!