Java 正則表示式中的貪婪限定符


貪婪限定符儘可能重複指定令牌,然後引擎回溯,貪婪限定符放棄匹配以最終找到所需匹配。

正則表示式 "(\w+)(\d)(\w+)" 用於在字串 "EarthHas1Moon" 中查詢匹配。

如下所示演示此功能的程式

示例

 線上演示

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Demo {
   public static void main(String args[]) {
      String str = "EarthHas1Moon";
      String regex = "(\w+)(\d)(\w+)";
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(str);
      m.find();
      System.out.println(m.group(1));
      System.out.println(m.group(2));
      System.out.println(m.group(3));
   }
}

輸出

EarthHas
1
Moon

現在讓我們瞭解上面的程式。

正則表示式為“(\w+)(\d)(\w+)”。在字串序列 "EarthHas1Moon" 中搜索該表示式。find() 方法用於查詢正則表示式是否在輸入序列中,並列印所需的結果。演示此功能的程式碼片段如下

String str = "EarthHas1Moon";
String regex = "(\w+)(\d)(\w+)";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
m.find();
System.out.println(m.group(1));
System.out.println(m.group(2));
System.out.println(m.group(3));

更新於: 30-Jul-2019

195 瀏覽

開啟你的 職業

完成課程獲得認證

開始
廣告