【发布时间】:2011-03-08 02:34:33
【问题描述】:
我需要使用 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);
}
这段代码有什么问题?请指导我。
【问题讨论】:
-
我在此处添加了一个答案 [stackoverflow.com/a/63838890/5979634],尽管 TC39 做出了不幸的决定,但它实施了建议的标准化方法。即使他们看不到标准化的价值,如果我们都可以使用相同的标准,我们也可能会这样做。
标签: javascript regex