首页 新闻 会员 周边 捐助

正则问题(?!ies)

0
[已解决问题] 解决于 2017-10-16 11:19

<script>
var str = "industries";
var patt1 = /[a-z]{7}(?!ies)/g;
document.write(str.match(patt1));
</script>

运行结果:
ndustri

 

为什么结果是ndustri?而不是industr

Danlis的主页 Danlis | 菜鸟二级 | 园豆:226
提问于:2017-09-25 10:48
< >
分享
最佳答案
0

?= 非捕获元-正向预查:在任何开始匹配圆括号内的正则表达式模式的位置来匹配搜索字符串。结果:industr,从i的位置开始了匹配

?!  非捕获元-负向预查:在任何开始不匹配该正则表达式模式的位置来匹配搜索字符串。结果:ndustri,从n的位置开始不匹配

 

慢慢体会吧

奖励园豆:5
[0] | 小虾三级 |园豆:1257 | 2017-09-25 11:30

谢谢,Thanks♪(・ω・)ノ。

先找到industries,这一个字符串是符合这个正则的,忘记查找的时候还要同时判断后缀ies了。那么industr这一串就不符合,接下来第二个七位则是ndustri,而后面并没有ies这一串,而其后方也没有能够凑成7位的字符串了,所以结果就是ndustri。这是我自己的理解了,以后还得多试试。

Danlis | 园豆:226 (菜鸟二级) | 2017-09-25 14:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册