了解并应用正则表达式:[7]数量的表达“{}”
1、有的时候,我们可能会碰到这样的问题:有这样一段文本“a=8asa;a=as47;a=vd;a=dsf;”,我想匹配“8asa”、“as47”、“vd”和“dsf”。然后我就写了这样一串表达式“a=(.*);”,然后用正则.取子匹配文本(),结果....我却匹配到了这样的结果:“8asa;a=as47;a=vd;a=dsf”。如图:
![了解并应用正则表达式:[7]数量的表达“{}”](https://exp-picture.cdn.bcebos.com/125ed0ecd3d96975c48fbb2ad243040149fe09e2.jpg)
2、我仔细一想:也对...我这样写表达式的确可以匹配出来这样的结果,但是这并不是我想要得结果。那么我们该怎么办呢?
3、问题的原因就出在我们没有限定“.”出现次数的范围,这时候我们就可以使用“{}”来确定前面的东西出现的次数。用法:“{n}”前面的东西出现n次。“{n,}”前面的东西至少出现n次。“{n,m}”前面的东西出处先n~m次。
4、然我们回到刚才的问题,这下,我们要用“{}”来限制“.”出现2~4次,表达式为“a=(.{2,4});”。这样我们就可以达到我们的要求了。如图:
![了解并应用正则表达式:[7]数量的表达“{}”](https://exp-picture.cdn.bcebos.com/58021a0148fe1e4261205362c2299a88381303e2.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:139
阅读量:27
阅读量:47
阅读量:192
阅读量:167