1.Greedy
2.Reluctant
3.Possessive
先看个例子:
while (matcher.find()) {
console.format(”I found the text /”%s/” starting at ” +
“index %d and ending at index %d.%n”,
matcher.group(), matcher.start(), matcher.end());
found = true;
}
比如说字符串是“<book> <title> Perl Hacks </title> </book>/t”
那么pattern是
1。”<.*>”,则结果是:I found the text “<book> <title> Perl Hacks </title> </book>” starting at index 0 and ending at index 42.
2。”<.*?>”,则结果是:
I found the text “<book>” starting at index 0 and ending at index 6.
I found the text “<title>” starting at index 7 and ending at index 14.
I found the text “</title>” starting at index 26 and ending at index 34.
I found the text “</book>” starting at index 35 and ending at index 42.
3。”<.*+>”,那么就什么也找不到
greedy:吃掉整个字符串,看是否match,如果不配,则backtracking吐出一个个字符,看是否匹配
reluctant:也就是我们说的lazy,过程相反,从字符串开始,一个个字符看是否匹配,最后做的是整个字符串
possessive:吃掉整个字符串,但是不往外吐,结果是没找到(作用是??),做一次且一次