所以我第一次尝试了一些非常基本的RegEx,我被告知' \d'表示数字匹配.
请有人解释为什么只有下面的模式1带有双反斜线" \\d"才能在理论上不起作用.
查看Javascript正则表达式文档后,当您按照此链接时,它们还会包含流氓反斜杠.
var str = "123456",
pattern1 = new RegExp("^\\d{6}$"),
pattern2 = new RegExp("^\d{6}$");
if(pattern1.test(str)){
alert('pattern 1 match!');
}else{
alert('pattern 1 no match!');
}
if(pattern2.test(str)){
alert('pattern 2 match!');
}else{
alert('pattern 2 no match!');
}
Run Code Online (Sandbox Code Playgroud)
如果引导结束,则不需要在引号中包装正则表达式 /
pattern2 = new RegExp(/^\d{6}$/);
额外\是需要的,因为它逃脱了另一个\