Greediness (Greediness): Maximum matching
X?, X*, X+, X{n,} is the maximum matching. For example, if you want to use "<.+>" to match "a
In Greediness mode, it will try to match as wide a range as possible until the entire content is matched. At this time, when it is found that the match cannot be successful, it will start to shrink back a little. Matching range until successful match
String test = "a<tr>aava </tr>abb "; String reg = "<.+>"; System.out.println(test.replaceAll(reg, "###"));
Output: a
abb
Reluctant(Laziness): minimum match
String test = "a<tr>aava </tr>abb "; String reg = "<.+?>"; System.out.println(test.replaceAll(reg, "###"));
aava
abbUnlike Greediness, Reluctant mode The following content is matched twice
Possessive (possessive): exact match
String test = "a<tr>aava </tr>abb "; String reg = "<.++>"; String test2 = "<tr>"; String reg2 = "<tr>"; System.out.println(test.replaceAll(reg, "###")); System.out.println(test2.replaceAll(reg2, "###"));