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