黑马程序员技术交流社区

标题: 正在表达式的一点疑问? [打印本页]

作者: 霍振鹏    时间: 2014-3-27 12:28
标题: 正在表达式的一点疑问?
本帖最后由 霍振鹏 于 2014-3-31 13:27 编辑

谁能给我解释一下 Greedy数量词 Reluctant数量词 possessive数量词的区别,详细一点,最好能举例说明,多谢了。
作者: nestor    时间: 2014-3-27 12:41
Greedy 数量词
   X? X,一次或一次也没有 (一次性全部把字符串读取进来,递减匹配)

Reluctant 数量词
   X?? X,一次或一次也没有 (读取最少的)

Possessive 数量词
   X?+ X,一次或一次也没有 (一次性全部把字符串读取进来匹配)

greedy :被看作“贪婪的”,因为它第一次就读入整个被模糊匹配的字符串。如果第一个匹配尝试(整个输入字符串)失败,匹配器就会在被匹配字符串中的最后一位后退一个字符并且再次尝试,重复这个过程,直到找到匹配或者没有更多剩下的字符可以后退为止。根据表达式中使用的量词,它最后试图匹配的内容是1 个或者0个字符。

reluctant:它们从被匹配字符串的开头开始,然后逐步地一次读取一个字符搜索匹配。它们最后试图匹配的内容是整个输入字符串。

possessive :总是读完整个输入字符串,尝试一次(而且只有一次)匹配。和greedy量词不同,possessive从不回溯。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2