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

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

贪婪量词在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,如有侵犯,请联系admin@php.cn删除