无涯教程-Java 正则 - X?匹配函数

23 阅读1分钟

贪婪匹配 [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

参考链接

www.learnfk.com/javaregex/j…