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

# coding=utf8 # the above tag defines encoding for this document and is for Python 2.x compatibility import re regex = r"(([\wîïöôûüéèàç\/\-'\)\(ÎÉëÂÅ]|([[\wîïöôûüéèàç\/\-'\)\(ÎÉëÂÅ](\s|,\s|\s|\s:\s)[[\wîïöôûüéèàç\/\-'\)\(ÎÉëÂÅ]))*(\s*))([\w]{0,2})$" test_str = ("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") subst = "<row code=\"$6\">\\n <libelle>$6 - $1</libelle>\\n</row>" # You can manually specify the number of replacements by changing the 4th argument result = re.sub(regex, subst, test_str, 0, re.MULTILINE) if result: print (result) # Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.

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 Python, please visit: https://docs.python.org/3/library/re.html