| 发表于:2007-08-10 14:31:372楼 得分:20 |
其实可以不用管.+?,只要知道是非贪婪匹配就好了 ".+?(? <=\\d{2}) " 你只要找到有两个数字就可以了,记住预搜索本身是不在匹配序列里面的 "abc57ab785bv55555 " 找到数字57,所以abc57能匹配。.+?是abc57,预搜索能找到57 找到数字78,所以ab78能匹配,.+?匹配ab78,预搜索能找到78 注意,数字85也是能匹配的,因为是预搜索,所以不用考虑8是否已经在前面匹配了,所以这里只是输出5,.+?是5,反向于搜索能找到85,不要认为是从5开始就行了,这就是预搜索 下面的类似,所以有很多单个的5,其实预搜索是搜到两个5的,前面的一个5已经匹配了,所以下一个只输出一个5 | | |
|