首页  >  文章  >  Java  >  贪婪量词在Java正则表达式中的应用

贪婪量词在Java正则表达式中的应用

WBOY
WBOY转载
2023-08-19 11:41:20838浏览

贪婪量词在Java正则表达式中的应用

贪婪量词是默认的量词。如果没有匹配发生,贪婪量词会尽可能地从输入字符串中匹配最多的内容(最长的匹配),并且在匹配失败时会保留最后一个字符并重新匹配。以下是贪婪量词的列表:

量词 描述
re* 匹配零个或多个出现。

re? 匹配零个或一个出现。

re+ 匹配一个或多个出现。

re{n} 精确匹配 n 次出现。

re{n, } 至少匹配 n 次出现。

re{n, m} 匹配至少 n 次且最多 m 次出现。

示例

在下面的 Java 示例中,我们尝试匹配一个或多个数字,我们的输入字符串是 45545,虽然值 4、45、455 等都是符合条件的,但由于我们使用了贪婪量词,它会匹配最长的可能值。

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

以上是贪婪量词在Java正则表达式中的应用的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除