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

r"
"

Test String

Substitution

Processing...

Code Generator

Generated Code

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

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 AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm