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

/
/
g

Test String

Code Generator

Generated Code

#include <StringConstants.au3> ; to declare the Constants of StringRegExp #include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate Local $sRegex = "[0-9\-\,]" Local $sString = "country latitude longitude name" & @CRLF & _ "AD 42.546245 1.601554 Andorra" & @CRLF & _ "AE 23.424076 53.847818 United Arab Emirates" & @CRLF & _ "AF 33.93911 67.709953 Afghanistan" & @CRLF & _ "AG 17.060816 -61.796428 Antigua and Barbuda" & @CRLF & _ "AI 18.220554 -63.068615 Anguilla" & @CRLF & _ "AL 41.153332 20.168331 Albania" & @CRLF & _ "AM 40.069099 45.038189 Armenia" & @CRLF & _ "AN 12.226079 -69.060087 Netherlands Antilles" & @CRLF & _ "AO -11.202692 17.873887 Angola" & @CRLF & _ "AQ -75.250973 -0.071389 Antarctica" & @CRLF & _ "AR -38.416097 -63.616672 Argentina" & @CRLF & _ "AS -14.270972 -170.132217 American Samoa" & @CRLF & _ "AT 47.516231 14.550072 Austria" & @CRLF & _ "AU -25.274398 133.775136 Australia" & @CRLF & _ "AW 12.52111 -69.968338 Aruba" & @CRLF & _ "AZ 40.143105 47.576927 Azerbaijan" & @CRLF & _ "BA 43.915886 17.679076 Bosnia and Herzegovina" & @CRLF & _ "BB 13.193887 -59.543198 Barbados" & @CRLF & _ "BD 23.684994 90.356331 Bangladesh" & @CRLF & _ "BE 50.503887 4.469936 Belgium" & @CRLF & _ "BF 12.238333 -1.561593 Burkina Faso" & @CRLF & _ "BG 42.733883 25.48583 Bulgaria" & @CRLF & _ "BH 25.930414 50.637772 Bahrain" & @CRLF & _ "BI -3.373056 29.918886 Burundi" & @CRLF & _ "BJ 9.30769 2.315834 Benin" & @CRLF & _ "BM 32.321384 -64.75737 Bermuda" & @CRLF & _ "BN 4.535277 114.727669 Brunei" & @CRLF & _ "BO -16.290154 -63.588653 Bolivia" & @CRLF & _ "BR -14.235004 -51.92528 Brazil" & @CRLF & _ "BS 25.03428 -77.39628 Bahamas" & @CRLF & _ "BT 27.514162 90.433601 Bhutan" & @CRLF & _ "BV -54.423199 3.413194 Bouvet Island" & @CRLF & _ "BW -22.328474 24.684866 Botswana" & @CRLF & _ "BY 53.709807 27.953389 Belarus" & @CRLF & _ "BZ 17.189877 -88.49765 Belize" & @CRLF & _ "CA 56.130366 -106.346771 Canada" & @CRLF & _ "CC -12.164165 96.870956 Cocos [Keeling] Islands" & @CRLF & _ "CD -4.038333 21.758664 Congo [DRC]" & @CRLF & _ "CF 6.611111 20.939444 Central African Republic" & @CRLF & _ "CG -0.228021 15.827659 Congo [Republic]" & @CRLF & _ "CH 46.818188 8.227512 Switzerland" & @CRLF & _ "CI 7.539989 -5.54708 Côte d'Ivoire" & @CRLF & _ "CK -21.236736 -159.777671 Cook Islands" & @CRLF & _ "CL -35.675147 -71.542969 Chile" & @CRLF & _ "CM 7.369722 12.354722 Cameroon" & @CRLF & _ "CN 35.86166 104.195397 China" & @CRLF & _ "CO 4.570868 -74.297333 Colombia" & @CRLF & _ "CR 9.748917 -83.753428 Costa Rica" & @CRLF & _ "CU 21.521757 -77.781167 Cuba" & @CRLF & _ "CV 16.002082 -24.013197 Cape Verde" & @CRLF & _ "CX -10.447525 105.690449 Christmas Island" & @CRLF & _ "CY 35.126413 33.429859 Cyprus" & @CRLF & _ "CZ 49.817492 15.472962 Czech Republic" & @CRLF & _ "DE 51.165691 10.451526 Germany" & @CRLF & _ "DJ 11.825138 42.590275 Djibouti" & @CRLF & _ "DK 56.26392 9.501785 Denmark" & @CRLF & _ "DM 15.414999 -61.370976 Dominica" & @CRLF & _ "DO 18.735693 -70.162651 Dominican Republic" & @CRLF & _ "DZ 28.033886 1.659626 Algeria" & @CRLF & _ "EC -1.831239 -78.183406 Ecuador" & @CRLF & _ "EE 58.595272 25.013607 Estonia" & @CRLF & _ "EG 26.820553 30.802498 Egypt" & @CRLF & _ "EH 24.215527 -12.885834 Western Sahara" & @CRLF & _ "ER 15.179384 39.782334 Eritrea" & @CRLF & _ "ES 40.463667 -3.74922 Spain" & @CRLF & _ "ET 9.145 40.489673 Ethiopia" & @CRLF & _ "FI 61.92411 25.748151 Finland" & @CRLF & _ "FJ -16.578193 179.414413 Fiji" & @CRLF & _ "FK -51.796253 -59.523613 Falkland Islands [Islas Malvinas]" & @CRLF & _ "FM 7.425554 150.550812 Micronesia" & @CRLF & _ "FO 61.892635 -6.911806 Faroe Islands" & @CRLF & _ "FR 46.227638 2.213749 France" & @CRLF & _ "GA -0.803689 11.609444 Gabon" & @CRLF & _ "GB 55.378051 -3.435973 United Kingdom" & @CRLF & _ "GD 12.262776 -61.604171 Grenada" & @CRLF & _ "GE 42.315407 43.356892 Georgia" & @CRLF & _ "GF 3.933889 -53.125782 French Guiana" & @CRLF & _ "GG 49.465691 -2.585278 Guernsey" & @CRLF & _ "GH 7.946527 -1.023194 Ghana" & @CRLF & _ "GI 36.137741 -5.345374 Gibraltar" & @CRLF & _ "GL 71.706936 -42.604303 Greenland" & @CRLF & _ "GM 13.443182 -15.310139 Gambia" & @CRLF & _ "GN 9.945587 -9.696645 Guinea" & @CRLF & _ "GP 16.995971 -62.067641 Guadeloupe" & @CRLF & _ "GQ 1.650801 10.267895 Equatorial Guinea" & @CRLF & _ "GR 39.074208 21.824312 Greece" & @CRLF & _ "GS -54.429579 -36.587909 South Georgia and the South Sandwich Islands" & @CRLF & _ "GT 15.783471 -90.230759 Guatemala" & @CRLF & _ "GU 13.444304 144.793731 Guam" & @CRLF & _ "GW 11.803749 -15.180413 Guinea-Bissau" & @CRLF & _ "GY 4.860416 -58.93018 Guyana" & @CRLF & _ "GZ 31.354676 34.308825 Gaza Strip" & @CRLF & _ "HK 22.396428 114.109497 Hong Kong" & @CRLF & _ "HM -53.08181 73.504158 Heard Island and McDonald Islands" & @CRLF & _ "HN 15.199999 -86.241905 Honduras" & @CRLF & _ "HR 45.1 15.2 Croatia" & @CRLF & _ "HT 18.971187 -72.285215 Haiti" & @CRLF & _ "HU 47.162494 19.503304 Hungary" & @CRLF & _ "ID -0.789275 113.921327 Indonesia" & @CRLF & _ "IE 53.41291 -8.24389 Ireland" & @CRLF & _ "IL 31.046051 34.851612 Israel" & @CRLF & _ "IM 54.236107 -4.548056 Isle of Man" & @CRLF & _ "IN 20.593684 78.96288 India" & @CRLF & _ "IO -6.343194 71.876519 British Indian Ocean Territory" & @CRLF & _ "IQ 33.223191 43.679291 Iraq" & @CRLF & _ "IR 32.427908 53.688046 Iran" & @CRLF & _ "IS 64.963051 -19.020835 Iceland" & @CRLF & _ "IT 41.87194 12.56738 Italy" & @CRLF & _ "JE 49.214439 -2.13125 Jersey" & @CRLF & _ "JM 18.109581 -77.297508 Jamaica" & @CRLF & _ "JO 30.585164 36.238414 Jordan" & @CRLF & _ "JP 36.204824 138.252924 Japan" & @CRLF & _ "KE -0.023559 37.906193 Kenya" & @CRLF & _ "KG 41.20438 74.766098 Kyrgyzstan" & @CRLF & _ "KH 12.565679 104.990963 Cambodia" & @CRLF & _ "KI -3.370417 -168.734039 Kiribati" & @CRLF & _ "KM -11.875001 43.872219 Comoros" & @CRLF & _ "KN 17.357822 -62.782998 Saint Kitts and Nevis" & @CRLF & _ "KP 40.339852 127.510093 North Korea" & @CRLF & _ "KR 35.907757 127.766922 South Korea" & @CRLF & _ "KW 29.31166 47.481766 Kuwait" & @CRLF & _ "KY 19.513469 -80.566956 Cayman Islands" & @CRLF & _ "KZ 48.019573 66.923684 Kazakhstan" & @CRLF & _ "LA 19.85627 102.495496 Laos" & @CRLF & _ "LB 33.854721 35.862285 Lebanon" & @CRLF & _ "LC 13.909444 -60.978893 Saint Lucia" & @CRLF & _ "LI 47.166 9.555373 Liechtenstein" & @CRLF & _ "LK 7.873054 80.771797 Sri Lanka" & @CRLF & _ "LR 6.428055 -9.429499 Liberia" & @CRLF & _ "LS -29.609988 28.233608 Lesotho" & @CRLF & _ "LT 55.169438 23.881275 Lithuania" & @CRLF & _ "LU 49.815273 6.129583 Luxembourg" & @CRLF & _ "LV 56.879635 24.603189 Latvia" & @CRLF & _ "LY 26.3351 17.228331 Libya" & @CRLF & _ "MA 31.791702 -7.09262 Morocco" & @CRLF & _ "MC 43.750298 7.412841 Monaco" & @CRLF & _ "MD 47.411631 28.369885 Moldova" & @CRLF & _ "ME 42.708678 19.37439 Montenegro" & @CRLF & _ "MG -18.766947 46.869107 Madagascar" & @CRLF & _ "MH 7.131474 171.184478 Marshall Islands" & @CRLF & _ "MK 41.608635 21.745275 Macedonia [FYROM]" & @CRLF & _ "ML 17.570692 -3.996166 Mali" & @CRLF & _ "MM 21.913965 95.956223 Myanmar [Burma]" & @CRLF & _ "MN 46.862496 103.846656 Mongolia" & @CRLF & _ "MO 22.198745 113.543873 Macau" & @CRLF & _ "MP 17.33083 145.38469 Northern Mariana Islands" & @CRLF & _ "MQ 14.641528 -61.024174 Martinique" & @CRLF & _ "MR 21.00789 -10.940835 Mauritania" & @CRLF & _ "MS 16.742498 -62.187366 Montserrat" & @CRLF & _ "MT 35.937496 14.375416 Malta" & @CRLF & _ "MU -20.348404 57.552152 Mauritius" & @CRLF & _ "MV 3.202778 73.22068 Maldives" & @CRLF & _ "MW -13.254308 34.301525 Malawi" & @CRLF & _ "MX 23.634501 -102.552784 Mexico" & @CRLF & _ "MY 4.210484 101.975766 Malaysia" & @CRLF & _ "MZ -18.665695 35.529562 Mozambique" & @CRLF & _ "NA -22.95764 18.49041 Namibia" & @CRLF & _ "NC -20.904305 165.618042 New Caledonia" & @CRLF & _ "NE 17.607789 8.081666 Niger" & @CRLF & _ "NF -29.040835 167.954712 Norfolk Island" & @CRLF & _ "NG 9.081999 8.675277 Nigeria" & @CRLF & _ "NI 12.865416 -85.207229 Nicaragua" & @CRLF & _ "NL 52.132633 5.291266 Netherlands" & @CRLF & _ "NO 60.472024 8.468946 Norway" & @CRLF & _ "NP 28.394857 84.124008 Nepal" & @CRLF & _ "NR -0.522778 166.931503 Nauru" & @CRLF & _ "NU -19.054445 -169.867233 Niue" & @CRLF & _ "NZ -40.900557 174.885971 New Zealand" & @CRLF & _ "OM 21.512583 55.923255 Oman" & @CRLF & _ "PA 8.537981 -80.782127 Panama" & @CRLF & _ "PE -9.189967 -75.015152 Peru" & @CRLF & _ "PF -17.679742 -149.406843 French Polynesia" & @CRLF & _ "PG -6.314993 143.95555 Papua New Guinea" & @CRLF & _ "PH 12.879721 121.774017 Philippines" & @CRLF & _ "PK 30.375321 69.345116 Pakistan" & @CRLF & _ "PL 51.919438 19.145136 Poland" & @CRLF & _ "PM 46.941936 -56.27111 Saint Pierre and Miquelon" & @CRLF & _ "PN -24.703615 -127.439308 Pitcairn Islands" & @CRLF & _ "PR 18.220833 -66.590149 Puerto Rico" & @CRLF & _ "PS 31.952162 35.233154 Palestinian Territories" & @CRLF & _ "PT 39.399872 -8.224454 Portugal" & @CRLF & _ "PW 7.51498 134.58252 Palau" & @CRLF & _ "PY -23.442503 -58.443832 Paraguay" & @CRLF & _ "QA 25.354826 51.183884 Qatar" & @CRLF & _ "RE -21.115141 55.536384 Réunion" & @CRLF & _ "RO 45.943161 24.96676 Romania" & @CRLF & _ "RS 44.016521 21.005859 Serbia" & @CRLF & _ "RU 61.52401 105.318756 Russia" & @CRLF & _ "RW -1.940278 29.873888 Rwanda" & @CRLF & _ "SA 23.885942 45.079162 Saudi Arabia" & @CRLF & _ "SB -9.64571 160.156194 Solomon Islands" & @CRLF & _ "SC -4.679574 55.491977 Seychelles" & @CRLF & _ "SD 12.862807 30.217636 Sudan" & @CRLF & _ "SE 60.128161 18.643501 Sweden" & @CRLF & _ "SG 1.352083 103.819836 Singapore" & @CRLF & _ "SH -24.143474 -10.030696 Saint Helena" & @CRLF & _ "SI 46.151241 14.995463 Slovenia" & @CRLF & _ "SJ 77.553604 23.670272 Svalbard and Jan Mayen" & @CRLF & _ "SK 48.669026 19.699024 Slovakia" & @CRLF & _ "SL 8.460555 -11.779889 Sierra Leone" & @CRLF & _ "SM 43.94236 12.457777 San Marino" & @CRLF & _ "SN 14.497401 -14.452362 Senegal" & @CRLF & _ "SO 5.152149 46.199616 Somalia" & @CRLF & _ "SR 3.919305 -56.027783 Suriname" & @CRLF & _ "ST 0.18636 6.613081 São Tomé and Príncipe" & @CRLF & _ "SV 13.794185 -88.89653 El Salvador" & @CRLF & _ "SY 34.802075 38.996815 Syria" & @CRLF & _ "SZ -26.522503 31.465866 Swaziland" & @CRLF & _ "TC 21.694025 -71.797928 Turks and Caicos Islands" & @CRLF & _ "TD 15.454166 18.732207 Chad" & @CRLF & _ "TF -49.280366 69.348557 French Southern Territories" & @CRLF & _ "TG 8.619543 0.824782 Togo" & @CRLF & _ "TH 15.870032 100.992541 Thailand" & @CRLF & _ "TJ 38.861034 71.276093 Tajikistan" & @CRLF & _ "TK -8.967363 -171.855881 Tokelau" & @CRLF & _ "TL -8.874217 125.727539 Timor-Leste" & @CRLF & _ "TM 38.969719 59.556278 Turkmenistan" & @CRLF & _ "TN 33.886917 9.537499 Tunisia" & @CRLF & _ "TO -21.178986 -175.198242 Tonga" & @CRLF & _ "TR 38.963745 35.243322 Turkey" & @CRLF & _ "TT 10.691803 -61.222503 Trinidad and Tobago" & @CRLF & _ "TV -7.109535 177.64933 Tuvalu" & @CRLF & _ "TW 23.69781 120.960515 Taiwan" & @CRLF & _ "TZ -6.369028 34.888822 Tanzania" & @CRLF & _ "UA 48.379433 31.16558 Ukraine" & @CRLF & _ "UG 1.373333 32.290275 Uganda" & @CRLF & _ "UM U.S. Minor Outlying Islands" & @CRLF & _ "US 37.09024 -95.712891 United States" & @CRLF & _ "UY -32.522779 -55.765835 Uruguay" & @CRLF & _ "UZ 41.377491 64.585262 Uzbekistan" & @CRLF & _ "VA 41.902916 12.453389 Vatican City" & @CRLF & _ "VC 12.984305 -61.287228 Saint Vincent and the Grenadines" & @CRLF & _ "VE 6.42375 -66.58973 Venezuela" & @CRLF & _ "VG 18.420695 -64.639968 British Virgin Islands" & @CRLF & _ "VI 18.335765 -64.896335 U.S. Virgin Islands" & @CRLF & _ "VN 14.058324 108.277199 Vietnam" & @CRLF & _ "VU -15.376706 166.959158 Vanuatu" & @CRLF & _ "WF -13.768752 -177.156097 Wallis and Futuna" & @CRLF & _ "WS -13.759029 -172.104629 Samoa" & @CRLF & _ "XK 42.602636 20.902977 Kosovo" & @CRLF & _ "YE 15.552727 48.516388 Yemen" & @CRLF & _ "YT -12.8275 45.166244 Mayotte" & @CRLF & _ "ZA -30.559482 22.937506 South Africa" & @CRLF & _ "ZM -13.133897 27.849332 Zambia" & @CRLF & _ "ZW -19.015438 29.154857 Zimbabwe" Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH) Local $aFullArray[0] For $i = 0 To UBound($aArray) -1 _ArrayConcatenate($aFullArray, $aArray[$i]) Next $aArray = $aFullArray ; Present the entire match result _ArrayDisplay($aArray, "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 AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm