import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(([\\wîïöôûüéèàç\\/\\-'\\)\\(ÎÉëÂÅ]|([[\\wîïöôûüéèàç\\/\\-'\\)\\(ÎÉëÂÅ](\\s|,\\s|\\s|\\s:\\s)[[\\wîïöôûüéèàç\\/\\-'\\)\\(ÎÉëÂÅ]))*(\\s*))([\\w]{0,2})$";
final String string = "Afghanistan AF\n"
+ "Afrique du Sud ZA\n"
+ "Åland, Îles AX\n"
+ "Albanie AL\n"
+ "Algérie DZ\n"
+ "Allemagne DE\n"
+ "Allemagne de l'EST DD\n"
+ "Andorre AD\n"
+ "Angola AO\n"
+ "Anguilla AI\n"
+ "Antarctique AQ\n"
+ "Antigua et Barbuda AG\n"
+ "Antilles néerlandaises AN\n"
+ "Arabie Saoudite SA\n"
+ "Argentine AR\n"
+ "Arménie AM\n"
+ "Aruba AW\n"
+ "Australie AU\n"
+ "Autriche AT\n"
+ "Azerbaïdjan AZ\n"
+ "Bahamas BS\n"
+ "Bahrein BH\n"
+ "Bangladesh BD\n"
+ "Barbade BB\n"
+ "Bélarus BY\n"
+ "Belgique BE\n"
+ "Bélize BZ\n"
+ "Bénin BJ\n"
+ "Bermudes BM\n"
+ "Bhoutan BT\n"
+ "Bolivie (État plurinational de) BO\n"
+ "Bonaire, Saint-Eustache et Saba BQ\n"
+ "Bosnie-Herzégovine BA\n"
+ "Botswana BW\n"
+ "Bouvet, Ile BV\n"
+ "Brésil BR\n"
+ "Brunéi Darussalam BN\n"
+ "Bulgarie BG\n"
+ "Burkina Faso BF\n"
+ "Burundi BI\n"
+ "Cabo Verde CV\n"
+ "Caïmans, Iles KY\n"
+ "Cambodge KH\n"
+ "Cameroun CM\n"
+ "Canada CA\n"
+ "Chili CL\n"
+ "Chine CN\n"
+ "Christmas, île CX\n"
+ "Chypre CY\n"
+ "Cocos/Keeling (Îles) CC\n"
+ "Colombie CO\n"
+ "Comores KM\n"
+ "Congo CG\n"
+ "Congo, République démocratique du CD\n"
+ "Cook, Iles CK\n"
+ "Corée, République de KR\n"
+ "Corée, République populaire démocratique de KP\n"
+ "Costa Rica CR\n"
+ "Côte d'Ivoire CI\n"
+ "Croatie HR\n"
+ "Cuba CU\n"
+ "Curaçao CW\n"
+ "Danemark DK\n"
+ "Djibouti DJ\n"
+ "Dominicaine, République DO\n"
+ "Dominique DM\n"
+ "Egypte EG\n"
+ "El Salvador SV\n"
+ "Emirats arabes unis AE\n"
+ "Equateur EC\n"
+ "Erythrée ER\n"
+ "Espagne ES\n"
+ "Estonie EE\n"
+ "Etats-Unis d'Amérique US\n"
+ "Ethiopie ET\n"
+ "Falkland/Malouines (Îles) FK\n"
+ "Féroé, îles FO\n"
+ "Fidji FJ\n"
+ "Finlande FI\n"
+ "France FR\n"
+ "Gabon GA\n"
+ "Gambie GM\n"
+ "Géorgie GE\n"
+ "Géorgie du sud et les îles Sandwich du sud GS\n"
+ "Ghana GH\n"
+ "Gibraltar GI\n"
+ "Grèce GR\n"
+ "Grenade GD\n"
+ "Groenland GL\n"
+ "Guadeloupe GP\n"
+ "Guam GU\n"
+ "Guatemala GT\n"
+ "Guernesey GG\n"
+ "Guinée GN\n"
+ "Guinée-Bissau GW\n"
+ "Guinée équatoriale GQ\n"
+ "Guyana GY\n"
+ "Guyane française GF\n"
+ "Haïti HT\n"
+ "Heard, Ile et MacDonald, îles HM\n"
+ "Honduras HN\n"
+ "Hong Kong HK\n"
+ "Hongrie HU\n"
+ "Île de Man IM\n"
+ "Îles mineures éloignées des Etats-Unis UM\n"
+ "Îles vierges britanniques VG\n"
+ "Îles vierges des Etats-Unis VI\n"
+ "Inde IN\n"
+ "Indien (Territoire britannique de l'océan) IO\n"
+ "Indonésie ID\n"
+ "Iran, République islamique d' IR\n"
+ "Iraq IQ\n"
+ "Irlande IE\n"
+ "Islande IS\n"
+ "Israël IL\n"
+ "Italie IT\n"
+ "Jamaïque JM\n"
+ "Japon JP\n"
+ "Jersey JE\n"
+ "Jordanie JO\n"
+ "Kazakhstan KZ\n"
+ "Kenya KE\n"
+ "Kirghizistan KG\n"
+ "Kiribati KI\n"
+ "Koweït KW\n"
+ "Lao, République démocratique populaire LA\n"
+ "Lesotho LS\n"
+ "Lettonie LV\n"
+ "Liban LB\n"
+ "Libéria LR\n"
+ "Libye LY\n"
+ "Liechtenstein LI\n"
+ "Lituanie LT\n"
+ "Luxembourg LU\n"
+ "Macao MO\n"
+ "Macédoine, l'ex-République yougoslave de MK\n"
+ "Madagascar MG\n"
+ "Malaisie MY\n"
+ "Malawi MW\n"
+ "Maldives MV\n"
+ "Mali ML\n"
+ "Malte MT\n"
+ "Mariannes du nord, Iles MP\n"
+ "Maroc MA\n"
+ "Marshall, Iles MH\n"
+ "Martinique MQ\n"
+ "Maurice MU\n"
+ "Mauritanie MR\n"
+ "Mayotte YT\n"
+ "Mexique MX\n"
+ "Micronésie, Etats Fédérés de FM\n"
+ "Moldova, République de MD\n"
+ "Monaco MC\n"
+ "Mongolie MN\n"
+ "Monténégro ME\n"
+ "Montserrat MS\n"
+ "Mozambique MZ\n"
+ "Myanmar MM\n"
+ "Namibie NA\n"
+ "Nauru NR\n"
+ "Népal NP\n"
+ "Nicaragua NI\n"
+ "Niger NE\n"
+ "Nigéria NG\n"
+ "Niue NU\n"
+ "Norfolk, Ile NF\n"
+ "Norvège NO\n"
+ "Nouvelle-Calédonie NC\n"
+ "Nouvelle-Zélande NZ\n"
+ "Oman OM\n"
+ "Ouganda UG\n"
+ "Ouzbékistan UZ\n"
+ "Pakistan PK\n"
+ "Palaos PW\n"
+ "Palestine, Etat de PS\n"
+ "Panama PA\n"
+ "Papouasie-Nouvelle-Guinée PG\n"
+ "Paraguay PY\n"
+ "Pays-Bas NL\n"
+ "Pays inconnu XX\n"
+ "Pays multiples ZZ\n"
+ "Pérou PE\n"
+ "Philippines PH\n"
+ "Pitcairn PN\n"
+ "Pologne PL\n"
+ "Polynésie française PF\n"
+ "Porto Rico PR\n"
+ "Portugal PT\n"
+ "Qatar QA\n"
+ "République arabe syrienne SY\n"
+ "République centrafricaine CF\n"
+ "Réunion RE\n"
+ "Roumanie RO\n"
+ "Royaume-Uni de Grande-Bretagne et d'Irlande du Nord GB\n"
+ "Russie, Fédération de RU\n"
+ "Rwanda RW\n"
+ "Sahara occidental EH\n"
+ "Saint-Barthélemy BL\n"
+ "Saint-Kitts-et-Nevis KN\n"
+ "Saint-Marin SM\n"
+ "Saint-Martin (partie française) MF\n"
+ "Saint-Martin (partie néerlandaise) SX\n"
+ "Saint-Pierre-et-Miquelon PM\n"
+ "Saint-Siège VA\n"
+ "Saint-Vincent-et-les-Grenadines VC\n"
+ "Sainte-Hélène, Ascension et Tristan da Cunha SH\n"
+ "Sainte-Lucie LC\n"
+ "Salomon, Iles SB\n"
+ "Samoa WS\n"
+ "Samoa américaines AS\n"
+ "Sao Tomé-et-Principe ST\n"
+ "Sénégal SN\n"
+ "Serbie RS\n"
+ "Seychelles SC\n"
+ "Sierra Leone SL\n"
+ "Singapour SG\n"
+ "Slovaquie SK\n"
+ "Slovénie SI\n"
+ "Somalie SO\n"
+ "Soudan SD\n"
+ "Soudan du Sud SS\n"
+ "Sri Lanka LK\n"
+ "Suède SE\n"
+ "Suisse CH\n"
+ "Suriname SR\n"
+ "Svalbard et île Jan Mayen SJ\n"
+ "Swaziland SZ\n"
+ "Tadjikistan TJ\n"
+ "Taïwan, Province de Chine TW\n"
+ "Tanzanie, République unie de TZ\n"
+ "Tchad TD\n"
+ "Tchécoslovaquie CS\n"
+ "Tchèque, République CZ\n"
+ "Terres australes françaises TF\n"
+ "Thaïlande TH\n"
+ "Timor-Leste TL\n"
+ "Togo TG\n"
+ "Tokelau TK\n"
+ "Tonga TO\n"
+ "Trinité-et-Tobago TT\n"
+ "Tunisie TN\n"
+ "Turkménistan TM\n"
+ "Turks-et-Caïcos (Îles) TC\n"
+ "Turquie TR\n"
+ "Tuvalu TV\n"
+ "Ukraine UA\n"
+ "URSS SU\n"
+ "Uruguay UY\n"
+ "Vanuatu VU\n"
+ "Vatican : voir Saint-Siège \n"
+ "Venezuela (République bolivarienne du) VE\n"
+ "Viet Nam VN\n"
+ "Viet Nam (Sud) VD\n"
+ "Wallis et Futuna WF\n"
+ "Yémen YE\n"
+ "Yougoslavie YU\n"
+ "Zaïre ZR\n"
+ "Zambie ZM\n"
+ "Zimbabwe ZW";
final String subst = "<row code=\"$6\">\\n <libelle>$6 - $1</libelle>\\n</row>";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(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