1 分組的時候,?可以不記錄一些組,比如:
2 遇見功能,"?=",意識說目標串中肯定存在什么,比如:
"?!",意思說目標串中不應(yīng)該存在什么
var str="abc";
var reg=/(?:a)b(c)/g
reg.test(str);
alert(RegExp.$1);//結(jié)果為c
此時雖然第一個小括號也滿足,但是如果用?:標注之后,它不會被存入正則表達式的緩存中。var reg=/(?:a)b(c)/g
reg.test(str);
alert(RegExp.$1);//結(jié)果為c
2 遇見功能,"?=",意識說目標串中肯定存在什么,比如:
var str="ab4";
var reg=/ab(?=\d)/g
alert(reg.test(str));//結(jié)果為true
意思是第三位肯定是數(shù)字;var reg=/ab(?=\d)/g
alert(reg.test(str));//結(jié)果為true
"?!",意思說目標串中不應(yīng)該存在什么
var str="ab1";
var reg=/ab(?!\d)/g
alert(reg.test(str));//結(jié)果為false
意思是目標串中的第三位不應(yīng)該是數(shù)字。var reg=/ab(?!\d)/g
alert(reg.test(str));//結(jié)果為false