贪婪的量词Java Java中的正则表达式。

贪婪的量词是默认的量词。贪婪的量词从输入字符串中尽可能匹配(可能的最长匹配),如果未发生匹配,则它离开最后一个字符并再次匹配。以下是贪婪量词的列表-

量词描述
re*匹配零个或多个事件。
re?匹配零个或1个匹配项。
re+匹配一个或多个事件。
re{n}精确匹配n次出现。
re{n, }至少匹配n个事件。
re{n, m}至少匹配n个事件,最多匹配m个事件。

示例

在下面的Java示例中,我们尝试匹配1个或多个数字,尽管值4、45、455等符合条件,但我们的输入字符串为45545,因为我们使用的是贪婪量词,它匹配的字符串可能最长。

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      String regex = "[0-9]+";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(input);
      System.out.println(“”Matched text: );
      while (matcher.find()) {
         System.out.println(matcher.group());
      }
   }
}

输出结果

Enter input text:
Matched text:
45545