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));