我有一个JavaScript实现:
EscapeForRegex = function(input) {
var specials = ["[", "\\", "^", "$", ".", "|", "?", "*", "+", "(", ")", "{", "}"]
for (var k in specials) {
var special = specials[k];
input = input.replace(new window.RegExp("\\" + special, "g"), "\\" + special);
}
return input;
};
然而,当我将我的实现与http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.escape.aspx上的页面进行比较时,我发现了两个不同之处。
我已经包含了],但该页面没有包含。是不是真的我们不需要包括]?(显然,我不怀疑该页面,但由于我的实现是在JavaScript而不是C# / VB中..)
我错过了#。在JavaScript正则表达式中,#符号是否特殊?