日期:2014-05-20  浏览次数:20784 次

正则表达式分组
本帖最后由 Cecil_911 于 2013-09-26 19:55:26 编辑
问下,为什么正则表达式
(\d{1,3}\.){3}\d{1,3}
匹配
192.168.1.3
的分组情况是

不懂分组匹配的是最后一个(1.),而不是192.或者168.
希望能讲下原理

------解决方案--------------------
楼主不了解{n}或者{n,m}的意思吗,这是"greedy"贪婪式的匹配,固定重复n次的你这个(\d{1,3}\.){3}就将匹配(\d{1,3}\.)这种的吞到第三次不进行回退的,所以你捕获到group(1)时已经把192.168.吞掉了,吞到了1.