Regular Expressions 101

Save & Share

  • Regex Version: ver. 1
  • Update Regex
    ctrl+โ‡ง+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

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
No Match

/
/
gm

Test String

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"[^+0-9\n]+[^(?:\s+0-9)*]" test_str = ("๐Ÿ‡ฆ๐Ÿ‡ซ Afghanistan +93\n" "๐Ÿ‡ฆ๐Ÿ‡ฝ ร…land Islands +358\n" "๐Ÿ‡ฆ๐Ÿ‡ฑ Albania +355\n" "๐Ÿ‡ฉ๐Ÿ‡ฟ Algeria +213\n" "๐Ÿ‡ฆ๐Ÿ‡ธ American Samoa +1684\n" "๐Ÿ‡ฆ๐Ÿ‡ฉ Andorra +376\n" "๐Ÿ‡ฆ๐Ÿ‡ด Angola +244\n" "๐Ÿ‡ฆ๐Ÿ‡ฎ Anguilla +1264\n" "๐Ÿ‡ฆ๐Ÿ‡ฌ Antigua & Barbuda +1268\n" "๐Ÿ‡ฆ๐Ÿ‡ท Argentina +54\n" "๐Ÿ‡ฆ๐Ÿ‡ฒ Armenia +374\n" "๐Ÿ‡ฆ๐Ÿ‡ผ Aruba +297\n" "๐Ÿ‡ฆ๐Ÿ‡บ Australia +61\n" "๐Ÿ‡ฆ๐Ÿ‡น Austria +43\n" "๐Ÿ‡ฆ๐Ÿ‡ฟ Azerbaijan +994\n" "๐Ÿ‡ง๐Ÿ‡ธ Bahamas +1242\n" "๐Ÿ‡ง๐Ÿ‡ญ Bahrain +973\n" "๐Ÿ‡ง๐Ÿ‡ฉ Bangladesh +880\n" "๐Ÿ‡ง๐Ÿ‡ง Barbados +1246\n" "๐Ÿ‡ง๐Ÿ‡พ Belarus +375\n" "๐Ÿ‡ง๐Ÿ‡ช Belgium +32\n" "๐Ÿ‡ง๐Ÿ‡ฟ Belize +501\n" "๐Ÿ‡ง๐Ÿ‡ฏ Benin +229\n" "๐Ÿ‡ง๐Ÿ‡ฒ Bermuda +1441\n" "๐Ÿ‡ง๐Ÿ‡น Bhutan +975\n" "๐Ÿ‡ง๐Ÿ‡ด Bolivia +591\n" "๐Ÿ‡ง๐Ÿ‡ฆ Bosnia & Herzegovina +387\n" "๐Ÿ‡ง๐Ÿ‡ผ Botswana +267\n" "๐Ÿ‡ง๐Ÿ‡ท Brazil +55\n" "๐Ÿ‡ฎ๐Ÿ‡ด British Indian Ocean Territory +246\n" "๐Ÿ‡ป๐Ÿ‡ฌ British Virgin Islands +1284\n" "๐Ÿ‡ง๐Ÿ‡ณ Brunei +673\n" "๐Ÿ‡ง๐Ÿ‡ฌ Bulgaria +359\n" "๐Ÿ‡ง๐Ÿ‡ซ Burkina Faso +226\n" "๐Ÿ‡ง๐Ÿ‡ฎ Burundi +257\n" "๐Ÿ‡ฐ๐Ÿ‡ญ Cambodia +855\n" "๐Ÿ‡จ๐Ÿ‡ฒ Cameroon +237\n" "๐Ÿ‡จ๐Ÿ‡ฆ Canada +1\n" "๐Ÿ‡จ๐Ÿ‡ป Cape Verde +238\n" "๐Ÿ‡ณ๐Ÿ‡ฑ Carribbean Netherlands +599\n" "๐Ÿ‡ฐ๐Ÿ‡พ Cayman Islands +1345\n" "๐Ÿ‡จ๐Ÿ‡ซ Central African Republic +236\n" "๐Ÿ‡น๐Ÿ‡ฉ Chad +235\n" "๐Ÿ‡จ๐Ÿ‡ฑ Chile +56\n" "๐Ÿ‡จ๐Ÿ‡ณ China +86\n" "๐Ÿ‡จ๐Ÿ‡ฝ Christmas Islands +61\n" "๐Ÿ‡จ๐Ÿ‡จ Cocos Islands +61\n" "๐Ÿ‡จ๐Ÿ‡ด Colombia +57\n" "๐Ÿ‡ฐ๐Ÿ‡ฒ Comoros +269\n" "๐Ÿ‡จ๐Ÿ‡ฉ Congo-Kinshasa +243\n" "๐Ÿ‡จ๐Ÿ‡ฌ Congo-Brazzaville +242\n" "๐Ÿ‡จ๐Ÿ‡ฐ Cook Islands +682\n" "๐Ÿ‡จ๐Ÿ‡ท Costa Rica +506\n" "๐Ÿ‡ญ๐Ÿ‡ท Croatia +385\n" "๐Ÿ‡จ๐Ÿ‡บ Cuba +53\n" "๐Ÿ‡จ๐Ÿ‡ผ Curaรงao +599\n" "๐Ÿ‡จ๐Ÿ‡พ Cyprus +357\n" "๐Ÿ‡จ๐Ÿ‡ฟ Czechia +420\n" "๐Ÿ‡ฉ๐Ÿ‡ฐ Denmark +45\n" "๐Ÿ‡ฉ๐Ÿ‡ฏ Djibouti +253\n" "๐Ÿ‡ฉ๐Ÿ‡ฒ Dominica +1767\n" "๐Ÿ‡ฉ๐Ÿ‡ด Dominican Republic +1\n" "๐Ÿ‡ช๐Ÿ‡จ Ecuador +593\n" "๐Ÿ‡ช๐Ÿ‡ฌ Egypt +20\n" "๐Ÿ‡ธ๐Ÿ‡ป El Salvador +503\n" "๐Ÿ‡ฌ๐Ÿ‡ถ Equatorial Guinea +240\n" "๐Ÿ‡ช๐Ÿ‡ท Eritrea +291\n" "๐Ÿ‡ช๐Ÿ‡ช Estonia +372\n" "๐Ÿ‡ช๐Ÿ‡น Ethiopia +251\n" "๐Ÿ‡ซ๐Ÿ‡ฐ Falkland Islands +500\n" "๐Ÿ‡ซ๐Ÿ‡ด Faroe Islands +298\n" "๐Ÿ‡ซ๐Ÿ‡ฏ Fiji +679\n" "๐Ÿ‡ซ๐Ÿ‡ฎ Finland +358\n" "๐Ÿ‡ซ๐Ÿ‡ท France +33\n" "๐Ÿ‡ฌ๐Ÿ‡ซ French Guiana +594\n" "๐Ÿ‡ต๐Ÿ‡ซ French Polynesia +689\n" "๐Ÿ‡ฌ๐Ÿ‡ฆ Gabon +241\n" "๐Ÿ‡ฌ๐Ÿ‡ฒ Gambia +220\n" "๐Ÿ‡ฌ๐Ÿ‡ช Georgia +995\n" "๐Ÿ‡ฉ๐Ÿ‡ช Germany +49\n" "๐Ÿ‡ฌ๐Ÿ‡ญ Ghana +233\n" "๐Ÿ‡ฌ๐Ÿ‡ฎ Gibraltar +350\n" "๐Ÿ‡ฌ๐Ÿ‡ท Greece +30\n" "๐Ÿ‡ฌ๐Ÿ‡ฑ Greenland +299\n" "๐Ÿ‡ฌ๐Ÿ‡ฉ Grenada +1473\n" "๐Ÿ‡ฌ๐Ÿ‡ต Guadeloupe +590\n" "๐Ÿ‡ฌ๐Ÿ‡บ Guam +1671\n" "๐Ÿ‡ฌ๐Ÿ‡น Guatemala +502\n" "๐Ÿ‡ฌ๐Ÿ‡ฌ Guernsey +44\n" "๐Ÿ‡ฌ๐Ÿ‡ณ Guinea +224\n" "๐Ÿ‡ฌ๐Ÿ‡ผ Guinea-Bissau +245\n" "๐Ÿ‡ฌ๐Ÿ‡พ Guyana +592\n" "๐Ÿ‡ญ๐Ÿ‡น Haiti +509\n" "๐Ÿ‡ญ๐Ÿ‡ณ Honduras +504\n" "๐Ÿ‡ญ๐Ÿ‡ฐ Hong Kong +852\n" "๐Ÿ‡ญ๐Ÿ‡บ Hungary +36\n" "๐Ÿ‡ฎ๐Ÿ‡ธ Iceland +354\n" "๐Ÿ‡ฎ๐Ÿ‡ณ India +91\n" "๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia +62\n" "๐Ÿ‡ฎ๐Ÿ‡ท Iran +98\n" "๐Ÿ‡ฎ๐Ÿ‡ถ Iraq +964\n" "๐Ÿ‡ฎ๐Ÿ‡ช Ireland +353\n" "๐Ÿ‡ฎ๐Ÿ‡ฒ Isle of Man +44\n" "๐Ÿ‡ฎ๐Ÿ‡ฑ Israel +972\n" "๐Ÿ‡ฎ๐Ÿ‡น Italy +39\n" "๐Ÿ‡จ๐Ÿ‡ฎ Ivory Coast +225\n" "๐Ÿ‡ฏ๐Ÿ‡ฒ Jamaica +1\n" "๐Ÿ‡ฏ๐Ÿ‡ต Japan +81\n" "๐Ÿ‡ฏ๐Ÿ‡ช Jersey +44\n" "๐Ÿ‡ฏ๐Ÿ‡ด Jordan +962\n" "๐Ÿ‡ฐ๐Ÿ‡ฟ Kazakhstan +7\n" "๐Ÿ‡ฐ๐Ÿ‡ช Kenya +254\n" "๐Ÿ‡ฐ๐Ÿ‡ฎ Kiribati +686\n" "๐Ÿ‡ฝ๐Ÿ‡ฐ Kosovo +383\n" "๐Ÿ‡ฐ๐Ÿ‡ผ Kuwait +965\n" "๐Ÿ‡ฐ๐Ÿ‡ฌ Kyrgyzstan +996\n" "๐Ÿ‡ฑ๐Ÿ‡ฆ Laos +856\n" "๐Ÿ‡ฑ๐Ÿ‡ป Latvia +371\n" "๐Ÿ‡ฑ๐Ÿ‡ง Lebanon +961\n" "๐Ÿ‡ฑ๐Ÿ‡ธ Lesotho +266\n" "๐Ÿ‡ฑ๐Ÿ‡ท Liberia +231\n" "๐Ÿ‡ฑ๐Ÿ‡พ Libya +218\n" "๐Ÿ‡ฑ๐Ÿ‡ฎ Liechtenstein +423\n" "๐Ÿ‡ฑ๐Ÿ‡น Lithuania +370\n" "๐Ÿ‡ฑ๐Ÿ‡บ Luxembourg +352\n" "๐Ÿ‡ฒ๐Ÿ‡ด Macau +853\n" "๐Ÿ‡ฒ๐Ÿ‡ฌ Madagascar +261\n" "๐Ÿ‡ฒ๐Ÿ‡ผ Malawi +265\n" "๐Ÿ‡ฒ๐Ÿ‡พ Malaysia +60\n" "๐Ÿ‡ฒ๐Ÿ‡ป Maldives +960\n" "๐Ÿ‡ฒ๐Ÿ‡ฑ Mali +223\n" "๐Ÿ‡ฒ๐Ÿ‡น Malta +356\n" "๐Ÿ‡ฒ๐Ÿ‡ญ Marshall Islands +692\n" "๐Ÿ‡ฒ๐Ÿ‡ถ Martinique +596\n" "๐Ÿ‡ฒ๐Ÿ‡ท Mauritania +222\n" "๐Ÿ‡ฒ๐Ÿ‡บ Mauritius +230\n" "๐Ÿ‡พ๐Ÿ‡น Mayotte +262\n" "๐Ÿ‡ฒ๐Ÿ‡ฝ Mexico +52\n" "๐Ÿ‡ซ๐Ÿ‡ฒ Micronesia +691\n" "๐Ÿ‡ฒ๐Ÿ‡ฉ Moldova +373\n" "๐Ÿ‡ฒ๐Ÿ‡จ Monaco +377\n" "๐Ÿ‡ฒ๐Ÿ‡ณ Mongolia +976\n" "๐Ÿ‡ฒ๐Ÿ‡ช Montenegro +382\n" "๐Ÿ‡ฒ๐Ÿ‡ธ Montserrat +1664\n" "๐Ÿ‡ฒ๐Ÿ‡ฆ Morocco +212\n" "๐Ÿ‡ฒ๐Ÿ‡ฟ Mozambique +258\n" "๐Ÿ‡ฒ๐Ÿ‡ฒ Myanmar +95\n" "๐Ÿ‡ณ๐Ÿ‡ฆ Namibia +264\n" "๐Ÿ‡ณ๐Ÿ‡ท Nauru +674\n" "๐Ÿ‡ณ๐Ÿ‡ต Nepal +977\n" "๐Ÿ‡ณ๐Ÿ‡ฑ Netherlands +31\n" "๐Ÿ‡ณ๐Ÿ‡จ New Caledonia +687\n" "๐Ÿ‡ณ๐Ÿ‡ฟ New Zealand +64\n" "๐Ÿ‡ณ๐Ÿ‡ฎ Nicaragua +505\n" "๐Ÿ‡ณ๐Ÿ‡ช Niger +227\n" "๐Ÿ‡ณ๐Ÿ‡ฌ Nigeria +234\n" "๐Ÿ‡ณ๐Ÿ‡บ Niue +683\n" "๐Ÿ‡ณ๐Ÿ‡ซ Norfolk Island +6723\n" "๐Ÿ‡ฐ๐Ÿ‡ต North Korea +850\n" "๐Ÿ‡ฒ๐Ÿ‡ฐ North Macedonia +389\n" "๐Ÿ‡ฒ๐Ÿ‡ต Northern Mariana Islands +1670\n" "๐Ÿ‡ณ๐Ÿ‡ด Norway +47\n" "๐Ÿ‡ด๐Ÿ‡ฒ Oman +968\n" "๐Ÿ‡ต๐Ÿ‡ฐ Pakistan +92\n" "๐Ÿ‡ต๐Ÿ‡ผ Palau +680\n" "๐Ÿ‡ต๐Ÿ‡ฆ Panama +507\n" "๐Ÿ‡ต๐Ÿ‡ฌ Papua New Guinea +675\n" "๐Ÿ‡ต๐Ÿ‡พ Paraguay +595\n" "๐Ÿ‡ต๐Ÿ‡ช Peru +51\n" "๐Ÿ‡ต๐Ÿ‡ญ Philippines +63\n" "๐Ÿ‡ต๐Ÿ‡ฑ Poland +48\n" "๐Ÿ‡ต๐Ÿ‡น Portugal +351\n" "๐Ÿ‡ต๐Ÿ‡ท Puerto Rico +1\n" "๐Ÿ‡ถ๐Ÿ‡ฆ Qatar +974\n" "๐Ÿ‡ซ๐Ÿ‡ท Rรฉunion +262\n" "๐Ÿ‡ท๐Ÿ‡ด Romania +40\n" "๐Ÿ‡ท๐Ÿ‡บ Russia +7\n" "๐Ÿ‡ท๐Ÿ‡ผ Rwanda +250\n" "๐Ÿ‡ง๐Ÿ‡ฑ Saint-Barthรฉlemy +590\n" "๐Ÿ‡ธ๐Ÿ‡ญ Saint Helena +290\n" "๐Ÿ‡ฐ๐Ÿ‡ณ Saint Kitts & Nevis +1869\n" "๐Ÿ‡ฑ๐Ÿ‡จ Saint Lucia +1758\n" "๐Ÿ‡ซ๐Ÿ‡ท Saint Martin +590\n" "๐Ÿ‡ต๐Ÿ‡ฒ Saint Pierre & Miquelon +508\n" "๐Ÿ‡ป๐Ÿ‡จ Saint Vincent & Grenadines +1784\n" "๐Ÿ‡ผ๐Ÿ‡ธ Samoa +685\n" "๐Ÿ‡ธ๐Ÿ‡ฒ San Marino +378\n" "๐Ÿ‡ธ๐Ÿ‡น Sรฃo Tomรฉ & Prรญncipe +239\n" "๐Ÿ‡ธ๐Ÿ‡ฆ Saudi Arabia +966\n" "๐Ÿ‡ธ๐Ÿ‡ณ Senegal +221\n" "๐Ÿ‡ท๐Ÿ‡ธ Serbia +381\n" "๐Ÿ‡ธ๐Ÿ‡จ Seychelles +248\n" "๐Ÿ‡ธ๐Ÿ‡ฑ Sierra Leone +232\n" "๐Ÿ‡ธ๐Ÿ‡ฌ Singapore +65\n" "๐Ÿ‡ธ๐Ÿ‡ฝ Sint Maarten +1721\n" "๐Ÿ‡ธ๐Ÿ‡ฐ Slovakia +421\n" "๐Ÿ‡ธ๐Ÿ‡ฎ Slovenia +386\n" "๐Ÿ‡ธ๐Ÿ‡ง Solomon Islands +677\n" "๐Ÿ‡ธ๐Ÿ‡ด Somalia +252\n" "๐Ÿ‡ฟ๐Ÿ‡ฆ South Africa +27\n" "๐Ÿ‡ฐ๐Ÿ‡ท South Korea +82\n" "๐Ÿ‡ธ๐Ÿ‡ธ South Sudan +211\n" "๐Ÿ‡ช๐Ÿ‡ธ Spain +34\n" "๐Ÿ‡ฑ๐Ÿ‡ฐ Sri Lanka +94\n" "๐Ÿ‡ธ๐Ÿ‡ฉ Sudan +249\n" "๐Ÿ‡ธ๐Ÿ‡ท Suriname +597\n" "๐Ÿ‡ณ๐Ÿ‡ด Svalbard & Jan Mayen +47\n" "๐Ÿ‡ธ๐Ÿ‡ฟ Swaziland +268\n" "๐Ÿ‡ธ๐Ÿ‡ช Sweden +46\n" "๐Ÿ‡จ๐Ÿ‡ญ Switzerland +41\n" "๐Ÿ‡ธ๐Ÿ‡พ Syria +963\n" "๐Ÿ‡น๐Ÿ‡ผ Taiwan +886\n" "๐Ÿ‡น๐Ÿ‡ฏ Tajikistan +992\n" "๐Ÿ‡น๐Ÿ‡ฟ Tanzania +255\n" "๐Ÿ‡น๐Ÿ‡ญ Thailand +66\n" "๐Ÿ‡น๐Ÿ‡ฑ Timor-Leste +670\n" "๐Ÿ‡น๐Ÿ‡ฌ Togo +228\n" "๐Ÿ‡น๐Ÿ‡ฐ Tokelau +690\n" "๐Ÿ‡น๐Ÿ‡ด Tonga +676\n" "๐Ÿ‡น๐Ÿ‡น Trinidad & Tobago +1868\n" "๐Ÿ‡น๐Ÿ‡ณ Tunisia +216\n" "๐Ÿ‡น๐Ÿ‡ท Turkey +90\n" "๐Ÿ‡น๐Ÿ‡ฒ Turkmenistan +993\n" "๐Ÿ‡น๐Ÿ‡จ Turks & Caicos Islands +1649\n" "๐Ÿ‡น๐Ÿ‡ป Tuvalu +688\n" "๐Ÿ‡ป๐Ÿ‡ฎ U.S. Virgin Islands +1340\n" "๐Ÿ‡บ๐Ÿ‡ฌ Uganda +256\n" "๐Ÿ‡บ๐Ÿ‡ฆ Ukraine +380\n" "๐Ÿ‡ฆ๐Ÿ‡ช United Arab Emirates +971\n" "๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom +44\n" "๐Ÿ‡บ๐Ÿ‡ธ United States +1\n" "๐Ÿ‡บ๐Ÿ‡พ Uruguay +598\n" "๐Ÿ‡บ๐Ÿ‡ฟ Uzbekistan +998\n" "๐Ÿ‡ป๐Ÿ‡บ Vanuatu +678\n" "๐Ÿ‡ป๐Ÿ‡ฆ Vatican City +39\n" "๐Ÿ‡ป๐Ÿ‡ช Venezuela +58\n" "๐Ÿ‡ป๐Ÿ‡ณ Vietnam +84\n" "๐Ÿ‡ผ๐Ÿ‡ซ Wallis & Futuna +681\n" "๐Ÿ‡ช๐Ÿ‡ญ Western Sahara +212\n" "๐Ÿ‡พ๐Ÿ‡ช Yemen +967\n" "๐Ÿ‡ฟ๐Ÿ‡ฒ Zambia +260\n" "๐Ÿ‡ฟ๐Ÿ‡ผ Zimbabwe +263") matches = re.finditer(regex, test_str, re.MULTILINE) for matchNum, match in enumerate(matches, start=1): print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group())) for groupNum in range(0, len(match.groups())): groupNum = groupNum + 1 print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum))) # 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