站长资源网络编程
Java 正则表达式匹配模式(贪婪型、勉强型、占有型)
简介Greediness(贪婪型):最大匹配X、X*、X+、X{n,} 是最大匹配。例如你要用 “<.+>” 去匹配 “aaava abb”,也许你所期待的结果是想匹配 “”,但是实际结果却会匹配到 “ aava 。在 Greediness 的模式下,会尽量
Greediness(贪婪型):最大匹配
X"htmlcode">
String test = "a<tr>aava </tr>abb "; String reg = "<.+>"; System.out.println(test.replaceAll(reg, "###"));
输出:a###abb
Reluctant(Laziness)(勉强型):最小匹配
X"htmlcode">
String test = "a<tr>aava </tr>abb "; String reg = "<.+"; System.out.println(test.replaceAll(reg, "###"));
输出:a###aava ###abb
与 Greediness 不同,Reluctant 模式下匹配了两次内容
Possessive(占有型):完全匹配
X"htmlcode">
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, "###"));
输出:a<tr>aava </tr>abb