分类：电脑/网络-程序设计-JAVA相关
问题：正则表达式的量词，“贪婪的”、“勉强的”、“占有的”有什么区别？ 
正则表达式的量词，同样的量词，“贪婪的”、“勉强的”、“占有的”有什么区别？
比如：X+是贪婪的，X+?是勉强的，X++是占有的。这三个都匹配1个或多个X，但它们有什么区别？
回答：1）贪婪的。量词总是贪婪的，贪婪表达式会为所有可能的模式发现尽可能多的匹配。
例：有一只大熊猫，还有一只小熊猫。
正则表达式：.+
结果：会匹配这一整句话“有一只大熊猫，还有一只小熊猫。”。

2）勉强的。有问号来指定，这个量词匹配满足模式所需的最少字符数。因此也称作懒惰的，最少匹配的，非贪婪的、或不贪婪的。
例：有一只大熊猫，还有一只小熊猫。
正则表达式：.+？
结果：匹配第一个符合要求的结果“有”。

3） 占有的。量词当前只有在JAVA语言中才可用（在其他语言中不可用），并且它也是更高级，因此我们大概不会立刻用到它。当正则表达式被应用于字符串时，它会产生相当多的状态，以便在匹配失败时可以回溯。而占有的量词并不保存这些中间状态，因此我们可以防止回溯。它们常常由于防止正则表达式失控，因此可以使正则表达式执行起来更有效。