<script>
var str = "industries";
var patt1 = /[a-z]{7}(?!ies)/g;
document.write(str.match(patt1));
</script>
运行结果:
ndustri
为什么结果是ndustri?而不是industr
?= 非捕获元-正向预查:在任何开始匹配圆括号内的正则表达式模式的位置来匹配搜索字符串。结果:industr,从i的位置开始了匹配
?! 非捕获元-负向预查:在任何开始不匹配该正则表达式模式的位置来匹配搜索字符串。结果:ndustri,从n的位置开始不匹配
慢慢体会吧
谢谢,Thanks♪(・ω・)ノ。
先找到industries,这一个字符串是符合这个正则的,忘记查找的时候还要同时判断后缀ies了。那么industr这一串就不符合,接下来第二个七位则是ndustri,而后面并没有ies这一串,而其后方也没有能够凑成7位的字符串了,所以结果就是ndustri。这是我自己的理解了,以后还得多试试。