import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])";
final String string = "AL Alabama\n"
+ "AK Alaska\n"
+ "AZ Arizona\n"
+ "AR Arkansas\n"
+ "CA California\n"
+ "CO Colorado\n"
+ "CT Connecticut\n"
+ "DE Delaware\n"
+ "DC District of Columbia\n"
+ "FL Florida\n"
+ "GA Georgia\n"
+ "HI Hawaii\n"
+ "ID Idaho\n"
+ "IL Illinois\n"
+ "IN Indiana\n"
+ "IA Iowa\n"
+ "KS Kansas\n"
+ "KY Kentucky\n"
+ "LA Louisiana\n"
+ "ME Maine\n"
+ "MD Maryland\n"
+ "MA Massachusetts\n"
+ "MI Michigan\n"
+ "MN Minnesota\n"
+ "MS Mississippi\n"
+ "MO Missouri\n"
+ "MT Montana\n"
+ "NE Nebraska\n"
+ "NV Nevada\n"
+ "NH New Hampshire\n"
+ "NJ New Jersey\n"
+ "NM New Mexico\n"
+ "NY New York\n"
+ "NC North Carolina\n"
+ "ND North Dakota\n"
+ "OH Ohio\n"
+ "OK Oklahoma\n"
+ "OR Oregon\n"
+ "PA Pennsylvania\n"
+ "RI Rhode Island\n"
+ "SC South Carolina\n"
+ "SD South Dakota\n"
+ "TN Tennessee\n"
+ "TX Texas\n"
+ "UT Utah\n"
+ "VT Vermont\n"
+ "VA Virginia\n"
+ "WA Washington\n"
+ "WV West Virginia\n"
+ "WI Wisconsin\n"
+ "WY Wyoming";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html