获取所有匹配的Java正则表达式的列表

Java没有提供任何方法来检索我们需要使用列表并将所有结果添加到while循环中的所有匹配列表。

示例

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ListOfMatches{
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      String regex = "\\d+";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      ArrayList list = new ArrayList();
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(input);
      while (matcher.find()) {
         list.add(matcher.group());
      }
      Iterator it = list.iterator();
      System.out.println("List of matches: ");
      while(it.hasNext()){
         System.out.println(it.next());
      }
   }
}

输出结果

Enter input text:
sample 1432 text 53 with 363 numbers
List of matches:
1432
53
363