贪心模式记录

问:

  var reg:RegExp=/a+?/
其中“?“号表示非贪心模式,表示尽可能少的匹配文字,这有什么实战意义吗?
如果是为了让它匹配到第一个,就不再往下匹配了。那岂不是多余的圈圈吗?你直接让他匹配一次不就得了

 

答:

在星"*"或者加"+"后面加上问号"?",表示非贪模式,即尽可能少的匹配.示例如下:

有字符串 hello world, this is regexp demo.

1. 使用:h.+o 将匹配:hello word, this is regexp demo 因为点匹配任意字符,后面跟加号,
表示前面一个h, 后面一个o,中间将匹配任意字符.此时为贪心模式,它将尽可能多的匹配,所以就一直匹配到最后面一个o.

2. 使用h.+?o 将匹配:hello 这时, 它将匹配一个h, 后面是一个o, 中间是任意字符(非贪模式),将尽可能少的匹配,所以只找到了hello

 

没看懂,先记录着

posted @ 2013-09-04 09:30  蓝月希  阅读(357)  评论(0)    收藏  举报