Mun*_*ian 152 javascript regex
我需要使用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);
}
Run Code Online (Sandbox Code Playgroud)
这段代码我错了什么?请指导我.
Mat*_*ens 385
使用该\
字符可以转义正则表达式中具有特殊含义的字符.
要自动化它,您可以使用:
function escapeRegExp(text) {
return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
}
Run Code Online (Sandbox Code Playgroud)
更新:现在有一个标准化此方法的提议,可能在ES2016中:https://github.com/benjamingr/RegExp.escape
更新:上述提案被拒绝,因此如果您需要,请继续自行实施.
随着\
你逃脱特殊字符
将特殊字符转换为特殊字符和文字字符.
例如:/(s)/匹配'(s)'而/(\ s)/匹配任何空格并捕获匹配.
资料来源:http://www.javascriptkit.com/javatutors/redev2.shtml
归档时间: |
|
查看次数: |
326180 次 |
最近记录: |