// 我们要转义的字符串
var unescaped_regex_string = "[stuff-in-here]";
// 转义这个字符串
var escaped_regex_string = unescaped_regex_string.escapeRegExp();
// 转义后的字符串是 "\[stuff\-in\-here\]"
注意,这意味着你要在正则表达式中使用的任何特殊字符都必须在转义之后再添加上去:
参考代码:
复制代码 代码如下:
// 需要转义的字符串
var unescaped_regex_string = "[stuff-in-here]“;
// 转义这个字符串,从开头匹配
var escaped_regex_string = “^” + unescaped_regex_string.escapeRegExp();
// escaped_regex_string现在就是“^\[stuff\-in\-here\]”
继续在下面的例子中测试使用escapeRegExp()和不使用的区别:
参考代码:
复制代码 代码如下:
var regex_demo = function(){
// 获取要测试的字符串
var test_string_1 = $('regex_7_value_1').get('value');
// 获取要使用的正则表达式
var regex_value = $('regex_7_match').get('value');
// 检查我们是不是要转义正则表达式
if ($('regex_7_escape').checked){
// 如果是的,我们则进行转义
regex_value = regex_value.escapeRegExp();
}
// 检查一下我们是不是要忽略大小写
var regex_param = "";
if ($('regex_7_param').checked){
regex_param = "i";
}
// 运行测试
var test_result_1 = test_string_1.test(regex_value, regex_param);
if (test_result_1){
$('regex_7_result_1').set('html', "matched");
}
else {
$('regex_7_result_1').set('html', "didn't match");
}
}
要测试的字符串一:
正则表达式
对正则进行转义
忽略大小写
记住,你可能因为使用了没有转义的特殊字符而使演示例子不能正常运行,因此当示例不能运行的时候请不要感到奇怪,因为你一直都在玩这些东西。
更多学习
Regular-Expressions.info是一个很好的参考和学习的地方——一个值得花一些时间浏览的网站。对于那些熟悉Perl或者熟悉各种语言差异的人,中的关于正则表达式这一节则对一些基本概念解释得非常的好。同样,Stephen Ramsay已经写了一个关于Unix正则表达式的教程,用一种非常清楚和直接了当的方式讲解了其中的一些概念。
另外一个不错的地方是正则表达式库,它们有数不清的正则表达式例子来完成各种各样的常见任务。最后,如果你有勇气,你应该花一些时间来看一下Mozilla的。这可能非常的多,但是极其有用。如果你想看一下MooTools这边关于正则的内容,可以看一下。