Getting the list of all the matches Java regular expressions


Java does not provide any method to retrieve the list of all matches we need to use Lists and add the results to it in the while loop.

Example

 Live Demo

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());
      }
   }
}

Output

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

Updated on: 13-Jan-2020

7K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements