1 分组的时候,?可以不记录一些组,比如:

var str="abc";
var reg=/(?:a)b(c)/g
reg.test(str);
alert(RegExp.$1);//结果为c

此时虽然第一个小括号也满足,但是如果用?:标注之后,它不会被存入正则表达式的缓存中。

2 遇见功能,"?=",意识说目标串中肯定存在什么,比如:

var str="ab4";
var reg
=/ab(?=\d)/g
alert(reg.test(str));//结果为true

意思是第三位肯定是数字;

"?:",意思说目标串中不应该存在什么
var str="ab1";
var reg
=/ab(?!\d)/g
alert(reg.test(str));//结果为false

意思是目标串中的第三位不应该是数字。

相关文章:

  • 2021-08-29
  • 2022-12-23
  • 2022-12-23
  • 2021-06-07
  • 2021-12-29
  • 2021-08-30
  • 2021-08-31
猜你喜欢
  • 2021-07-20
  • 2021-09-25
  • 2021-12-25
  • 2021-12-25
  • 2022-12-23
相关资源
相似解决方案