    import java.util.*;
    import java.io.*;
    import java.util.regex.*;
    import java.util.List;
     
    class Program {
    public static void main (String[] args) throws java.lang.Exception	{
     
    String subject = "custom onetomany manytomany atom tomcat tomorrow automatic tom tomahawk";
    Pattern regex = Pattern.compile("custom|onetomany|manytomany|atom|tomcat|tomorrow|automatic|(\\w*tom\\w*)");
    Matcher regexMatcher = regex.matcher(subject);
    List<String> group1Caps = new ArrayList<String>();
     
    // put Group 1 captures in a list
    while (regexMatcher.find()) {
    if(regexMatcher.group(1) != null) {
    group1Caps.add(regexMatcher.group(1));
    	}
    } // end of building the list
     
    System.out.println("\n" + "*** Matches ***");
    if(group1Caps.size()>0) {
    for (String match : group1Caps) System.out.println(match);
    }
     
    } // end main
    } // end Program