import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "A(BW|FG|GO|IA|L[AB]|ND|R[EGM]|SM|T[AFG]|U[ST]|ZE)|B(DI|E[LNS]|FA|G[DR]|H[RS]|IH|L[MRZ]|MU|OL|R[ABN]|TN|VT|WA)|C(A[FN]|CK|H[ELN]|IV|MR|O[DGKLM]|PV|RI|U[BW]|XR|Y[MP]|ZE)|D(EU|JI|MA|NK|OM|ZA)|E(CU|GY|RI|S[HPT]|TH)|F(IN|JI|LK|R[AO]|SM)|G(AB|BR|EO|GY|HA|I[BN]|LP|MB|N[BQ]|R[CDL]|TM|U[FMY])|H(KG|MD|ND|RV|TI|UN)|I(DN|MN|ND|OT|R[LNQ]|S[LR]|TA)|J(AM|EY|OR|PN)|K(AZ|EN|GZ|HM|IR|NA|OR|WT)|L(AO|B[NRY]|CA|IE|KA|SO|TU|UX|VA)|M(A[CFR]|CO|D[AGV]|EX|HL|KD|L[IT]|MR|N[EGP]|OZ|RT|SR|TQ|US|WI|Y[ST])|N(AM|CL|ER|FK|GA|I[CU]|LD|OR|PL|RU|ZL)|OMN|P(A[KN]|CN|ER|HL|LW|NG|OL|R[IKTY]|SE|YF)|QAT|R(EU|OU|US|WA)|S(AU|DN|EN|G[PS]|HN|JM|L[BEV]|MR|OM|PM|RB|SD|TP|UR|V[KN]|W[EZ]|XM|Y[CR])|T(C[AD]|GO|HA|JK|K[LM]|LS|ON|TO|U[NRV]|WN|ZA)|U(GA|KR|MI|RY|SA|ZB)|V(AT|CT|EN|GB|IR|NM|UT)|W(LF|SM)|YEM|Z(AF|MB|WE)";
final String string = " \n"
+ "<select>\n"
+ " <option value=\"AFG\">Afghanistan</option>\n"
+ " <option value=\"ALA\">Åland Islands</option>\n"
+ " <option value=\"ALB\">Albania</option>\n"
+ " <option value=\"DZA\">Algeria</option>\n"
+ " <option value=\"ASM\">American Samoa</option>\n"
+ " <option value=\"AND\">Andorra</option>\n"
+ " <option value=\"AGO\">Angola</option>\n"
+ " <option value=\"AIA\">Anguilla</option>\n"
+ " <option value=\"ATA\">Antarctica</option>\n"
+ " <option value=\"ATG\">Antigua and Barbuda</option>\n"
+ " <option value=\"ARG\">Argentina</option>\n"
+ " <option value=\"ARM\">Armenia</option>\n"
+ " <option value=\"ABW\">Aruba</option>\n"
+ " <option value=\"AUS\">Australia</option>\n"
+ " <option value=\"AUT\">Austria</option>\n"
+ " <option value=\"AZE\">Azerbaijan</option>\n"
+ " <option value=\"BHS\">Bahamas</option>\n"
+ " <option value=\"BHR\">Bahrain</option>\n"
+ " <option value=\"BGD\">Bangladesh</option>\n"
+ " <option value=\"BRB\">Barbados</option>\n"
+ " <option value=\"BLR\">Belarus</option>\n"
+ " <option value=\"BEL\">Belgium</option>\n"
+ " <option value=\"BLZ\">Belize</option>\n"
+ " <option value=\"BEN\">Benin</option>\n"
+ " <option value=\"BMU\">Bermuda</option>\n"
+ " <option value=\"BTN\">Bhutan</option>\n"
+ " <option value=\"BOL\">Bolivia, Plurinational State of</option>\n"
+ " <option value=\"BES\">Bonaire, Sint Eustatius and Saba</option>\n"
+ " <option value=\"BIH\">Bosnia and Herzegovina</option>\n"
+ " <option value=\"BWA\">Botswana</option>\n"
+ " <option value=\"BVT\">Bouvet Island</option>\n"
+ " <option value=\"BRA\">Brazil</option>\n"
+ " <option value=\"IOT\">British Indian Ocean Territory</option>\n"
+ " <option value=\"BRN\">Brunei Darussalam</option>\n"
+ " <option value=\"BGR\">Bulgaria</option>\n"
+ " <option value=\"BFA\">Burkina Faso</option>\n"
+ " <option value=\"BDI\">Burundi</option>\n"
+ " <option value=\"KHM\">Cambodia</option>\n"
+ " <option value=\"CMR\">Cameroon</option>\n"
+ " <option value=\"CAN\">Canada</option>\n"
+ " <option value=\"CPV\">Cape Verde</option>\n"
+ " <option value=\"CYM\">Cayman Islands</option>\n"
+ " <option value=\"CAF\">Central African Republic</option>\n"
+ " <option value=\"TCD\">Chad</option>\n"
+ " <option value=\"CHL\">Chile</option>\n"
+ " <option value=\"CHN\">China</option>\n"
+ " <option value=\"CXR\">Christmas Island</option>\n"
+ " <option value=\"CCK\">Cocos (Keeling) Islands</option>\n"
+ " <option value=\"COL\">Colombia</option>\n"
+ " <option value=\"COM\">Comoros</option>\n"
+ " <option value=\"COG\">Congo</option>\n"
+ " <option value=\"COD\">Congo, the Democratic Republic of the</option>\n"
+ " <option value=\"COK\">Cook Islands</option>\n"
+ " <option value=\"CRI\">Costa Rica</option>\n"
+ " <option value=\"CIV\">Côte d'Ivoire</option>\n"
+ " <option value=\"HRV\">Croatia</option>\n"
+ " <option value=\"CUB\">Cuba</option>\n"
+ " <option value=\"CUW\">Curaçao</option>\n"
+ " <option value=\"CYP\">Cyprus</option>\n"
+ " <option value=\"CZE\">Czech Republic</option>\n"
+ " <option value=\"DNK\">Denmark</option>\n"
+ " <option value=\"DJI\">Djibouti</option>\n"
+ " <option value=\"DMA\">Dominica</option>\n"
+ " <option value=\"DOM\">Dominican Republic</option>\n"
+ " <option value=\"ECU\">Ecuador</option>\n"
+ " <option value=\"EGY\">Egypt</option>\n"
+ " <option value=\"SLV\">El Salvador</option>\n"
+ " <option value=\"GNQ\">Equatorial Guinea</option>\n"
+ " <option value=\"ERI\">Eritrea</option>\n"
+ " <option value=\"EST\">Estonia</option>\n"
+ " <option value=\"ETH\">Ethiopia</option>\n"
+ " <option value=\"FLK\">Falkland Islands (Malvinas)</option>\n"
+ " <option value=\"FRO\">Faroe Islands</option>\n"
+ " <option value=\"FJI\">Fiji</option>\n"
+ " <option value=\"FIN\">Finland</option>\n"
+ " <option value=\"FRA\">France</option>\n"
+ " <option value=\"GUF\">French Guiana</option>\n"
+ " <option value=\"PYF\">French Polynesia</option>\n"
+ " <option value=\"ATF\">French Southern Territories</option>\n"
+ " <option value=\"GAB\">Gabon</option>\n"
+ " <option value=\"GMB\">Gambia</option>\n"
+ " <option value=\"GEO\">Georgia</option>\n"
+ " <option value=\"DEU\">Germany</option>\n"
+ " <option value=\"GHA\">Ghana</option>\n"
+ " <option value=\"GIB\">Gibraltar</option>\n"
+ " <option value=\"GRC\">Greece</option>\n"
+ " <option value=\"GRL\">Greenland</option>\n"
+ " <option value=\"GRD\">Grenada</option>\n"
+ " <option value=\"GLP\">Guadeloupe</option>\n"
+ " <option value=\"GUM\">Guam</option>\n"
+ " <option value=\"GTM\">Guatemala</option>\n"
+ " <option value=\"GGY\">Guernsey</option>\n"
+ " <option value=\"GIN\">Guinea</option>\n"
+ " <option value=\"GNB\">Guinea-Bissau</option>\n"
+ " <option value=\"GUY\">Guyana</option>\n"
+ " <option value=\"HTI\">Haiti</option>\n"
+ " <option value=\"HMD\">Heard Island and McDonald Islands</option>\n"
+ " <option value=\"VAT\">Holy See (Vatican City State)</option>\n"
+ " <option value=\"HND\">Honduras</option>\n"
+ " <option value=\"HKG\">Hong Kong</option>\n"
+ " <option value=\"HUN\">Hungary</option>\n"
+ " <option value=\"ISL\">Iceland</option>\n"
+ " <option value=\"IND\">India</option>\n"
+ " <option value=\"IDN\">Indonesia</option>\n"
+ " <option value=\"IRN\">Iran, Islamic Republic of</option>\n"
+ " <option value=\"IRQ\">Iraq</option>\n"
+ " <option value=\"IRL\">Ireland</option>\n"
+ " <option value=\"IMN\">Isle of Man</option>\n"
+ " <option value=\"ISR\">Israel</option>\n"
+ " <option value=\"ITA\">Italy</option>\n"
+ " <option value=\"JAM\">Jamaica</option>\n"
+ " <option value=\"JPN\">Japan</option>\n"
+ " <option value=\"JEY\">Jersey</option>\n"
+ " <option value=\"JOR\">Jordan</option>\n"
+ " <option value=\"KAZ\">Kazakhstan</option>\n"
+ " <option value=\"KEN\">Kenya</option>\n"
+ " <option value=\"KIR\">Kiribati</option>\n"
+ " <option value=\"PRK\">Korea, Democratic People's Republic of</option>\n"
+ " <option value=\"KOR\">Korea, Republic of</option>\n"
+ " <option value=\"KWT\">Kuwait</option>\n"
+ " <option value=\"KGZ\">Kyrgyzstan</option>\n"
+ " <option value=\"LAO\">Lao People's Democratic Republic</option>\n"
+ " <option value=\"LVA\">Latvia</option>\n"
+ " <option value=\"LBN\">Lebanon</option>\n"
+ " <option value=\"LSO\">Lesotho</option>\n"
+ " <option value=\"LBR\">Liberia</option>\n"
+ " <option value=\"LBY\">Libya</option>\n"
+ " <option value=\"LIE\">Liechtenstein</option>\n"
+ " <option value=\"LTU\">Lithuania</option>\n"
+ " <option value=\"LUX\">Luxembourg</option>\n"
+ " <option value=\"MAC\">Macao</option>\n"
+ " <option value=\"MKD\">Macedonia, the former Yugoslav Republic of</option>\n"
+ " <option value=\"MDG\">Madagascar</option>\n"
+ " <option value=\"MWI\">Malawi</option>\n"
+ " <option value=\"MYS\">Malaysia</option>\n"
+ " <option value=\"MDV\">Maldives</option>\n"
+ " <option value=\"MLI\">Mali</option>\n"
+ " <option value=\"MLT\">Malta</option>\n"
+ " <option value=\"MHL\">Marshall Islands</option>\n"
+ " <option value=\"MTQ\">Martinique</option>\n"
+ " <option value=\"MRT\">Mauritania</option>\n"
+ " <option value=\"MUS\">Mauritius</option>\n"
+ " <option value=\"MYT\">Mayotte</option>\n"
+ " <option value=\"MEX\">Mexico</option>\n"
+ " <option value=\"FSM\">Micronesia, Federated States of</option>\n"
+ " <option value=\"MDA\">Moldova, Republic of</option>\n"
+ " <option value=\"MCO\">Monaco</option>\n"
+ " <option value=\"MNG\">Mongolia</option>\n"
+ " <option value=\"MNE\">Montenegro</option>\n"
+ " <option value=\"MSR\">Montserrat</option>\n"
+ " <option value=\"MAR\">Morocco</option>\n"
+ " <option value=\"MOZ\">Mozambique</option>\n"
+ " <option value=\"MMR\">Myanmar</option>\n"
+ " <option value=\"NAM\">Namibia</option>\n"
+ " <option value=\"NRU\">Nauru</option>\n"
+ " <option value=\"NPL\">Nepal</option>\n"
+ " <option value=\"NLD\">Netherlands</option>\n"
+ " <option value=\"NCL\">New Caledonia</option>\n"
+ " <option value=\"NZL\">New Zealand</option>\n"
+ " <option value=\"NIC\">Nicaragua</option>\n"
+ " <option value=\"NER\">Niger</option>\n"
+ " <option value=\"NGA\">Nigeria</option>\n"
+ " <option value=\"NIU\">Niue</option>\n"
+ " <option value=\"NFK\">Norfolk Island</option>\n"
+ " <option value=\"MNP\">Northern Mariana Islands</option>\n"
+ " <option value=\"NOR\">Norway</option>\n"
+ " <option value=\"OMN\">Oman</option>\n"
+ " <option value=\"PAK\">Pakistan</option>\n"
+ " <option value=\"PLW\">Palau</option>\n"
+ " <option value=\"PSE\">Palestinian Territory, Occupied</option>\n"
+ " <option value=\"PAN\">Panama</option>\n"
+ " <option value=\"PNG\">Papua New Guinea</option>\n"
+ " <option value=\"PRY\">Paraguay</option>\n"
+ " <option value=\"PER\">Peru</option>\n"
+ " <option value=\"PHL\">Philippines</option>\n"
+ " <option value=\"PCN\">Pitcairn</option>\n"
+ " <option value=\"POL\">Poland</option>\n"
+ " <option value=\"PRT\">Portugal</option>\n"
+ " <option value=\"PRI\">Puerto Rico</option>\n"
+ " <option value=\"QAT\">Qatar</option>\n"
+ " <option value=\"REU\">Réunion</option>\n"
+ " <option value=\"ROU\">Romania</option>\n"
+ " <option value=\"RUS\">Russian Federation</option>\n"
+ " <option value=\"RWA\">Rwanda</option>\n"
+ " <option value=\"BLM\">Saint Barthélemy</option>\n"
+ " <option value=\"SHN\">Saint Helena, Ascension and Tristan da Cunha</option>\n"
+ " <option value=\"KNA\">Saint Kitts and Nevis</option>\n"
+ " <option value=\"LCA\">Saint Lucia</option>\n"
+ " <option value=\"MAF\">Saint Martin (French part)</option>\n"
+ " <option value=\"SPM\">Saint Pierre and Miquelon</option>\n"
+ " <option value=\"VCT\">Saint Vincent and the Grenadines</option>\n"
+ " <option value=\"WSM\">Samoa</option>\n"
+ " <option value=\"SMR\">San Marino</option>\n"
+ " <option value=\"STP\">Sao Tome and Principe</option>\n"
+ " <option value=\"SAU\">Saudi Arabia</option>\n"
+ " <option value=\"SEN\">Senegal</option>\n"
+ " <option value=\"SRB\">Serbia</option>\n"
+ " <option value=\"SYC\">Seychelles</option>\n"
+ " <option value=\"SLE\">Sierra Leone</option>\n"
+ " <option value=\"SGP\">Singapore</option>\n"
+ " <option value=\"SXM\">Sint Maarten (Dutch part)</option>\n"
+ " <option value=\"SVK\">Slovakia</option>\n"
+ " <option value=\"SVN\">Slovenia</option>\n"
+ " <option value=\"SLB\">Solomon Islands</option>\n"
+ " <option value=\"SOM\">Somalia</option>\n"
+ " <option value=\"ZAF\">South Africa</option>\n"
+ " <option value=\"SGS\">South Georgia and the South Sandwich Islands</option>\n"
+ " <option value=\"SSD\">South Sudan</option>\n"
+ " <option value=\"ESP\">Spain</option>\n"
+ " <option value=\"LKA\">Sri Lanka</option>\n"
+ " <option value=\"SDN\">Sudan</option>\n"
+ " <option value=\"SUR\">Suriname</option>\n"
+ " <option value=\"SJM\">Svalbard and Jan Mayen</option>\n"
+ " <option value=\"SWZ\">Swaziland</option>\n"
+ " <option value=\"SWE\">Sweden</option>\n"
+ " <option value=\"CHE\">Switzerland</option>\n"
+ " <option value=\"SYR\">Syrian Arab Republic</option>\n"
+ " <option value=\"TWN\">Taiwan, Province of China</option>\n"
+ " <option value=\"TJK\">Tajikistan</option>\n"
+ " <option value=\"TZA\">Tanzania, United Republic of</option>\n"
+ " <option value=\"THA\">Thailand</option>\n"
+ " <option value=\"TLS\">Timor-Leste</option>\n"
+ " <option value=\"TGO\">Togo</option>\n"
+ " <option value=\"TKL\">Tokelau</option>\n"
+ " <option value=\"TON\">Tonga</option>\n"
+ " <option value=\"TTO\">Trinidad and Tobago</option>\n"
+ " <option value=\"TUN\">Tunisia</option>\n"
+ " <option value=\"TUR\">Turkey</option>\n"
+ " <option value=\"TKM\">Turkmenistan</option>\n"
+ " <option value=\"TCA\">Turks and Caicos Islands</option>\n"
+ " <option value=\"TUV\">Tuvalu</option>\n"
+ " <option value=\"UGA\">Uganda</option>\n"
+ " <option value=\"UKR\">Ukraine</option>\n"
+ " <option value=\"ARE\">United Arab Emirates</option>\n"
+ " <option value=\"GBR\">United Kingdom</option>\n"
+ " <option value=\"USA\">United States</option>\n"
+ " <option value=\"UMI\">United States Minor Outlying Islands</option>\n"
+ " <option value=\"URY\">Uruguay</option>\n"
+ " <option value=\"UZB\">Uzbekistan</option>\n"
+ " <option value=\"VUT\">Vanuatu</option>\n"
+ " <option value=\"VEN\">Venezuela, Bolivarian Republic of</option>\n"
+ " <option value=\"VNM\">Viet Nam</option>\n"
+ " <option value=\"VGB\">Virgin Islands, British</option>\n"
+ " <option value=\"VIR\">Virgin Islands, U.S.</option>\n"
+ " <option value=\"WLF\">Wallis and Futuna</option>\n"
+ " <option value=\"ESH\">Western Sahara</option>\n"
+ " <option value=\"YEM\">Yemen</option>\n"
+ " <option value=\"ZMB\">Zambia</option>\n"
+ " <option value=\"ZWE\">Zimbabwe</option>\n"
+ "</select>";
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