贪婪匹配 [X?] 匹配一次存在的X或根本不存在的X。
X? - 示例
以下示例显示了贪婪匹配的用法。
package com.learnfk;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GreedyQuantifierDemo {
private static final String REGEX="T?";
private static final String INPUT="abcdTatW";
public static void main(String[] args) {
//创建一个模式
Pattern pattern=Pattern.compile(REGEX);
</span><span class="com">//获取匹配对象</span><span class="pln">
</span><span class="typ">Matcher</span><span class="pln"> matcher</span><span class="pun">=</span><span class="pln">pattern</span><span class="pun">.</span><span class="pln">matcher</span><span class="pun">(</span><span class="pln">INPUT</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">while</span><span class="pun">(</span><span class="pln">matcher</span><span class="pun">.</span><span class="pln">find</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="com">//打印匹配的起始索引。</span><span class="pln">
</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Match String start(): "</span><span class="pun">+</span><span class="pln">matcher</span><span class="pun">.</span><span class="pln">start</span><span class="pun">());</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
}
让无涯教程编译并运行以上程序,这将产生以下输出-
Match String start(): 0 Match String start(): 1 Match String start(): 2 Match String start(): 3 Match String start(): 4 Match String start(): 5 Match String start(): 6 Match String start(): 7 Match String start(): 8