获取所有匹配的 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
广告