import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(^.+?)\\s+(\\w{2})\\s+(\\w{3})\\s+(\\d{3})";
final String string = "BOSNIA AND HERZEGOWINA BA BIH 070\n"
+ "BOTSWANA BW BWA 072\n"
+ "BOUVET ISLAND BV BVT 074\n"
+ "BRAZIL BR BRA 076\n"
+ "BRITISH INDIAN OCEAN TERRITORY IO IOT 086\n"
+ "BRUNEI DARUSSALAM BN BRN 096\n"
+ "BULGARIA BG BGR 100\n"
+ "BURKINA FASO BF BFA 854\n"
+ "BURUNDI BI BDI 108\n"
+ "CAMBODIA KH KHM 116\n"
+ "CAMEROON CM CMR 120\n"
+ "CANADA CA CAN 124\n"
+ "CAPE VERDE CV CPV 132\n"
+ "CAYMAN ISLANDS KY CYM 136\n"
+ "CENTRAL AFRICAN REPUBLIC CF CAF 140\n"
+ "CHAD TD TCD 148\n"
+ "CHILE CL CHL 152\n"
+ "CHINA CN CHN 156\n"
+ "CHRISTMAS ISLAND CX CXR 162\n"
+ "COCOS (KEELING) ISLANDS CC CCK 166\n"
+ "COLOMBIA CO COL 170\n"
+ "COMOROS KM COM 174\n"
+ "CONGO, Democratic Republic of (was Zaire) CD COD 180\n"
+ "CONGO, Republic of CG COG 178\n"
+ "COOK ISLANDS CK COK 184\n"
+ "COSTA RICA CR CRI 188\n"
+ "COTE D'IVOIRE CI CIV 384\n"
+ "CROATIA (local name: Hrvatska) HR HRV 191\n"
+ "CUBA CU CUB 192\n"
+ "CYPRUS CY CYP 196\n"
+ "CZECH REPUBLIC CZ CZE 203\n"
+ "DENMARK DK DNK 208\n"
+ "DJIBOUTI DJ DJI 262\n"
+ "DOMINICA DM DMA 212\n"
+ "DOMINICAN REPUBLIC DO DOM 214\n"
+ "ECUADOR EC ECU 218\n"
+ "EGYPT EG EGY 818\n"
+ "EL SALVADOR SV SLV 222\n"
+ "EQUATORIAL GUINEA GQ GNQ 226\n"
+ "ERITREA ER ERI 232\n"
+ "ESTONIA EE EST 233\n"
+ "ETHIOPIA ET ETH 231\n"
+ "FALKLAND ISLANDS (MALVINAS) FK FLK 238\n"
+ "FAROE ISLANDS FO FRO 234\n"
+ "FIJI FJ FJI 242\n"
+ "FINLAND FI FIN 246\n"
+ "FRANCE FR FRA 250\n"
+ "FRENCH GUIANA GF GUF 254\n"
+ "FRENCH POLYNESIA PF PYF 258\n"
+ "FRENCH SOUTHERN TERRITORIES TF ATF 260\n"
+ "GABON GA GAB 266\n"
+ "GAMBIA GM GMB 270\n"
+ "GEORGIA GE GEO 268\n"
+ "GERMANY DE DEU 276\n"
+ "GHANA GH GHA 288\n"
+ "GIBRALTAR GI GIB 292\n"
+ "GREECE GR GRC 300\n"
+ "GREENLAND GL GRL 304\n"
+ "GRENADA GD GRD 308\n"
+ "GUADELOUPE GP GLP 312\n"
+ "GUAM GU GUM 316\n"
+ "GUATEMALA GT GTM 320\n"
+ "GUINEA GN GIN 324\n"
+ "GUINEA-BISSAU GW GNB 624\n"
+ "GUYANA GY GUY 328\n"
+ "HAITI HT HTI 332\n"
+ "HEARD AND MC DONALD ISLANDS HM HMD 334\n"
+ "HONDURAS HN HND 340\n"
+ "HONG KONG HK HKG 344\n"
+ "HUNGARY HU HUN 348\n"
+ "ICELAND IS ISL 352\n"
+ "INDIA IN IND 356\n"
+ "INDONESIA ID IDN 360\n"
+ "IRAN (ISLAMIC REPUBLIC OF) IR IRN 364\n"
+ "IRAQ IQ IRQ 368\n"
+ "IRELAND IE IRL 372\n"
+ "ISRAEL IL ISR 376\n"
+ "ITALY IT ITA 380\n"
+ "JAMAICA JM JAM 388\n"
+ "JAPAN JP JPN 392\n"
+ "JORDAN JO JOR 400\n"
+ "KAZAKHSTAN KZ KAZ 398\n"
+ "KENYA KE KEN 404\n"
+ "KIRIBATI KI KIR 296\n"
+ "KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF KP PRK 408\n"
+ "KOREA, REPUBLIC OF KR KOR 410\n"
+ "KUWAIT KW KWT 414\n"
+ "KYRGYZSTAN KG KGZ 417\n"
+ "LAO PEOPLE'S DEMOCRATIC REPUBLIC LA LAO 418\n"
+ "LATVIA LV LVA 428\n"
+ "LEBANON LB LBN 422\n"
+ "LESOTHO LS LSO 426\n"
+ "LIBERIA LR LBR 430\n"
+ "LIBYAN ARAB JAMAHIRIYA LY LBY 434\n"
+ "LIECHTENSTEIN LI LIE 438\n"
+ "LITHUANIA LT LTU 440\n"
+ "LUXEMBOURG LU LUX 442\n"
+ "MACAU MO MAC 446\n"
+ "MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF MK MKD 807\n"
+ "MADAGASCAR MG MDG 450\n"
+ "MALAWI MW MWI 454\n"
+ "MALAYSIA MY MYS 458\n"
+ "MALDIVES MV MDV 462\n"
+ "MALI ML MLI 466\n"
+ "MALTA MT MLT 470\n"
+ "MARSHALL ISLANDS MH MHL 584\n"
+ "MARTINIQUE MQ MTQ 474\n"
+ "MAURITANIA MR MRT 478\n"
+ "MAURITIUS MU MUS 480\n"
+ "MAYOTTE YT MYT 175\n"
+ "MEXICO MX MEX 484\n"
+ "MICRONESIA, FEDERATED STATES OF FM FSM 583\n"
+ "MOLDOVA, REPUBLIC OF MD MDA 498\n"
+ "MONACO MC MCO 492\n"
+ "MONGOLIA MN MNG 496\n"
+ "MONTSERRAT MS MSR 500\n"
+ "MOROCCO MA MAR 504\n"
+ "MOZAMBIQUE MZ MOZ 508\n"
+ "MYANMAR MM MMR 104\n"
+ "NAMIBIA NA NAM 516\n"
+ "NAURU NR NRU 520\n"
+ "NEPAL NP NPL 524\n"
+ "NETHERLANDS NL NLD 528\n"
+ "NETHERLANDS ANTILLES AN ANT 530\n"
+ "NEW CALEDONIA NC NCL 540\n"
+ "NEW ZEALAND NZ NZL 554\n"
+ "NICARAGUA NI NIC 558\n"
+ "NIGER NE NER 562\n"
+ "NIGERIA NG NGA 566\n"
+ "NIUE NU NIU 570\n"
+ "NORFOLK ISLAND NF NFK 574\n"
+ "NORTHERN MARIANA ISLANDS MP MNP 580\n"
+ "NORWAY NO NOR 578\n"
+ "OMAN OM OMN 512\n"
+ "PAKISTAN PK PAK 586\n"
+ "PALAU PW PLW 585\n"
+ "PALESTINIAN TERRITORY, Occupied PS PSE 275\n"
+ "PANAMA PA PAN 591\n"
+ "PAPUA NEW GUINEA PG PNG 598\n"
+ "PARAGUAY PY PRY 600\n"
+ "PERU PE PER 604\n"
+ "PHILIPPINES PH PHL 608\n"
+ "PITCAIRN PN PCN 612\n"
+ "POLAND PL POL 616\n"
+ "PORTUGAL PT PRT 620\n"
+ "PUERTO RICO PR PRI 630\n"
+ "QATAR QA QAT 634\n"
+ "REUNION RE REU 638\n"
+ "ROMANIA RO ROU 642\n"
+ "RUSSIAN FEDERATION RU RUS 643\n"
+ "RWANDA RW RWA 646\n"
+ "SAINT HELENA SH SHN 654\n"
+ "SAINT KITTS AND NEVIS KN KNA 659\n"
+ "SAINT LUCIA LC LCA 662\n"
+ "SAINT PIERRE AND MIQUELON PM SPM 666\n"
+ "SAINT VINCENT AND THE GRENADINES VC VCT 670\n"
+ "SAMOA WS WSM 882\n"
+ "SAN MARINO SM SMR 674\n"
+ "SAO TOME AND PRINCIPE ST STP 678\n"
+ "SAUDI ARABIA SA SAU 682\n"
+ "SENEGAL SN SEN 686\n"
+ "SERBIA AND MONTENEGRO CS SCG 891\n"
+ "SEYCHELLES SC SYC 690\n"
+ "SIERRA LEONE SL SLE 694\n"
+ "SINGAPORE SG SGP 702\n"
+ "SLOVAKIA SK SVK 703\n"
+ "SLOVENIA SI SVN 705\n"
+ "SOLOMON ISLANDS SB SLB 090\n"
+ "SOMALIA SO SOM 706\n"
+ "SOUTH AFRICA ZA ZAF 710\n"
+ "SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS GS SGS 239\n"
+ "SPAIN ES ESP 724\n"
+ "SRI LANKA LK LKA 144\n"
+ "SUDAN SD SDN 736\n"
+ "SURINAME SR SUR 740\n"
+ "SVALBARD AND JAN MAYEN ISLANDS SJ SJM 744\n"
+ "SWAZILAND SZ SWZ 748\n"
+ "SWEDEN SE SWE 752\n"
+ "SWITZERLAND CH CHE 756\n"
+ "SYRIAN ARAB REPUBLIC SY SYR 760\n"
+ "TAIWAN TW TWN 158\n"
+ "TAJIKISTAN TJ TJK 762\n"
+ "TANZANIA, UNITED REPUBLIC OF TZ TZA 834\n"
+ "THAILAND TH THA 764\n"
+ "TIMOR-LESTE TL TLS 626\n"
+ "TOGO TG TGO 768\n"
+ "TOKELAU TK TKL 772\n"
+ "TONGA TO TON 776\n"
+ "TRINIDAD AND TOBAGO TT TTO 780\n"
+ "TUNISIA TN TUN 788\n"
+ "TURKEY TR TUR 792\n"
+ "TURKMENISTAN TM TKM 795\n"
+ "TURKS AND CAICOS ISLANDS TC TCA 796\n"
+ "TUVALU TV TUV 798\n"
+ "UGANDA UG UGA 800\n"
+ "UKRAINE UA UKR 804\n"
+ "UNITED ARAB EMIRATES AE ARE 784\n"
+ "UNITED KINGDOM GB GBR 826\n"
+ "UNITED STATES US USA 840\n"
+ "UNITED STATES MINOR OUTLYING ISLANDS UM UMI 581\n"
+ "URUGUAY UY URY 858\n"
+ "UZBEKISTAN UZ UZB 860\n"
+ "VANUATU VU VUT 548\n"
+ "VATICAN CITY STATE (HOLY SEE) VA VAT 336\n"
+ "VENEZUELA VE VEN 862\n"
+ "VIET NAM VN VNM 704\n"
+ "VIRGIN ISLANDS (BRITISH) VG VGB 092\n"
+ "VIRGIN ISLANDS (U.S.) VI VIR 850\n"
+ "WALLIS AND FUTUNA ISLANDS WF WLF 876\n"
+ "WESTERN SAHARA EH ESH 732\n"
+ "YEMEN YE YEM 887\n"
+ "ZAMBIA ZM ZMB 894\n"
+ "ZIMBABWE ZW ZWE 716";
final String subst = "";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceFirst(subst);
System.out.println("Substitution result: " + result);
}
}
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