Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression

/
/
gm

Test String

Substitution

Processing...

Code Generator

Generated Code

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