Java 正则表达式匹配模式(贪婪型、勉强型、占有型)

网络编程 发布日期:2024/10/11 浏览次数:1

正在浏览:Java 正则表达式匹配模式(贪婪型、勉强型、占有型)

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