Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
Sponsors
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
Processing...

Test String

Substitution
Processing...

Code Generator

Generated Code

#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox Local $sRegex = "(?m)\ {0,1}([A-Za-z]*)\t([0-9]*)" Local $sString = "74572: Blaufelden" & @CRLF & _ " Alkertshausen" & @CRLF & _ " Billingsbach" & @CRLF & _ " Blaubach" & @CRLF & _ " Blaufelden" & @CRLF & _ " Brüchlingen" & @CRLF & _ " Ehringshausen" & @CRLF & _ " Emmertsbühl" & @CRLF & _ " Engelhardshausen" & @CRLF & _ " Erpfersweiler" & @CRLF & _ " Gammesfeld" & @CRLF & _ " Herrentierbach" & @CRLF & _ " Heufelwinden" & @CRLF & _ " Kottmannsweiler" & @CRLF & _ " Lentersweiler" & @CRLF & _ " Metzholz" & @CRLF & _ " Mittelbach" & @CRLF & _ " Naicha" & @CRLF & _ " Niederweiler" & @CRLF & _ " Raboldshausen" & @CRLF & _ " Saalbach" & @CRLF & _ " Simmetshausen" & @CRLF & _ " Wiesenbach" & @CRLF & _ " Wittenweiler" & @CRLF & _ "" & @CRLF & _ "74575: Schrozberg" & @CRLF & _ " Bartenstein" & @CRLF & _ " Böhmweiler" & @CRLF & _ " Bossendorf" & @CRLF & _ " Bovenzenweiler" & @CRLF & _ " Eichholz" & @CRLF & _ " Eichswiesen" & @CRLF & _ " Enzenweiler" & @CRLF & _ " Ettenhausen" & @CRLF & _ " Funkstatt" & @CRLF & _ " Ganertshausen" & @CRLF & _ " Gemmhagen" & @CRLF & _ " Großbärenweiler" & @CRLF & _ " Gütbach" & @CRLF & _ " Hechelein" & @CRLF & _ " Heiligenbronn" & @CRLF & _ " Heuchlingen" & @CRLF & _ " Hirschbronn" & @CRLF & _ " Hornungshof" & @CRLF & _ " Hummertsweiler" & @CRLF & _ " Kälberbach" & @CRLF & _ " Kleinbärenweiler" & @CRLF & _ " Klopfhof" & @CRLF & _ " Könbronn" & @CRLF & _ " Krailshausen" & @CRLF & _ " Kreuzfeld" & @CRLF & _ " Leuzendorf" & @CRLF & _ " Lindlein" & @CRLF & _ " Mäusberg" & @CRLF & _ " Obereichenrot" & @CRLF & _ " Reichertswiesen" & @CRLF & _ " Reupoldsrot" & @CRLF & _ " Riedbach" & @CRLF & _ " Schmalfelden" & @CRLF & _ " Schrozberg" & @CRLF & _ " Sigisweiler" & @CRLF & _ " Speckheim" & @CRLF & _ " Spielbach" & @CRLF & _ " Spindelbach" & @CRLF & _ " Standorf" & @CRLF & _ " Untereichenrot" & @CRLF & _ " Wittmersklingen" & @CRLF & _ " Wolfskreut" & @CRLF & _ " Zell" & @CRLF & _ "" & @CRLF & _ "74585: Rot am See" & @CRLF & _ " Beimbach" & @CRLF & _ " Bemberg" & @CRLF & _ " Brettenfeld" & @CRLF & _ " Brettheim" & @CRLF & _ " Hausen" & @CRLF & _ " Hegenau" & @CRLF & _ " Herbertshausen" & @CRLF & _ " Heroldhausen" & @CRLF & _ " Hertershofen" & @CRLF & _ " Hilgartshausen" & @CRLF & _ " Kleinansbach" & @CRLF & _ " Kleinbrettheim" & @CRLF & _ " Kühnhard" & @CRLF & _ " Lenkerstetten" & @CRLF & _ " Musdorf" & @CRLF & _ " Niederwinden" & @CRLF & _ " Oberndorf" & @CRLF & _ " Oberwinden" & @CRLF & _ " Reinsbürg" & @CRLF & _ " Reubach" & @CRLF & _ " Rot am See" & @CRLF & _ " Weikersholz" & @CRLF & _ "" & @CRLF & _ "74599: Wallhausen" & @CRLF & _ " Asbach" & @CRLF & _ " Hengstfeld" & @CRLF & _ " Limbach" & @CRLF & _ " Michelbach an der Lücke" & @CRLF & _ " Roßbürg" & @CRLF & _ " Schainbach" & @CRLF & _ " Schönbronn" & @CRLF & _ " Wallhausen" & @CRLF & _ "" & @CRLF & _ "91471: Illesheim" & @CRLF & _ " Illesheim 91471" & @CRLF & _ " Sontheim 91471" & @CRLF & _ " Urfersheim 91471" & @CRLF & _ " Westheim 91471" & @CRLF & _ "" & @CRLF & _ "91541: Rothenburg" & @CRLF & _ " Bettenfeld" & @CRLF & _ " Burgstall" & @CRLF & _ " Detwang" & @CRLF & _ " Dürrenhof" & @CRLF & _ " Hemmendorf ob der Tauber" & @CRLF & _ " Herrnwinden" & @CRLF & _ " Leuzenbronn ob der Tauber" & @CRLF & _ " Reusch" & @CRLF & _ " Schandhof" & @CRLF & _ " Schnepfendorf ob der Tauber" & @CRLF & _ " Steinbach" & @CRLF & _ " Vorbach ob der Tauber" & @CRLF & _ "" & @CRLF & _ "91583: Schillingsfürst" & @CRLF & _ " Altengreuth" & @CRLF & _ " Bersbronn" & @CRLF & _ " Faulenberg" & @CRLF & _ " Leipoldsberg" & @CRLF & _ " Neureuth" & @CRLF & _ " Neuweiler" & @CRLF & _ " Schillingsfürst" & @CRLF & _ " Schorndorf" & @CRLF & _ " Stilzendorf" & @CRLF & _ " Wittum" & @CRLF & _ " Wohnbach" & @CRLF & _ " Ziegelhütte" & @CRLF & _ "" & @CRLF & _ "91583: Diebach" & @CRLF & _ " Bellershausen" & @CRLF & _ " Diebach" & @CRLF & _ " Oberoestheim" & @CRLF & _ " Unteroestheim" & @CRLF & _ " Wolfsau" & @CRLF & _ "" & @CRLF & _ "91587: Adelshofen" & @CRLF & _ "Adelshofen" & @CRLF & _ " Gickelhausen" & @CRLF & _ " Großharbach" & @CRLF & _ " Haardt" & @CRLF & _ " Neustett" & @CRLF & _ " Ruckertshofen" & @CRLF & _ " Tauberscheckenbach" & @CRLF & _ " Tauberzell" & @CRLF & _ "" & @CRLF & _ "91592:" & @CRLF & _ " Berbersbach am Wald" & @CRLF & _ " Gastenfelden" & @CRLF & _ " Hagenau am Wald" & @CRLF & _ " Morlitzwinden am Wald" & @CRLF & _ " Schönbronn" & @CRLF & _ " Schweikartswinden" & @CRLF & _ " Sengelhof" & @CRLF & _ " Traisdorf" & @CRLF & _ "" & @CRLF & _ "91593: Burgbernheim" & @CRLF & _ "Buchheim" & @CRLF & _ " Burgbernheim" & @CRLF & _ " Hilpertshof" & @CRLF & _ " Hochbach" & @CRLF & _ " Pfaffenhofen" & @CRLF & _ " Schwebheim" & @CRLF & _ "" & @CRLF & _ "91598: Colmberg" & @CRLF & _ "Auerbach" & @CRLF & _ " Bieg am Wald" & @CRLF & _ " Binzwangen" & @CRLF & _ " Colmberg" & @CRLF & _ " Häslabronn" & @CRLF & _ " Kurzendorf" & @CRLF & _ " Meuchlein" & @CRLF & _ " Oberfelden" & @CRLF & _ " Oberhegenau" & @CRLF & _ " Poppenbach" & @CRLF & _ " Unterfelden" & @CRLF & _ " Unterhegenau" & @CRLF & _ "" & @CRLF & _ "91601: Dombühl" & @CRLF & _ " Baimhofen" & @CRLF & _ " Binsenweiler" & @CRLF & _ " Bortenberg" & @CRLF & _ " Dombühl" & @CRLF & _ " Höfen" & @CRLF & _ " Kloster Sulz" & @CRLF & _ " Ziegelhaus" & @CRLF & _ "" & @CRLF & _ "91605: Gallmersgarten" & @CRLF & _ "Bergtshofen 91605" & @CRLF & _ " Gallmersgarten 91605" & @CRLF & _ " Mörlbach 91605" & @CRLF & _ " Steinach an der Ens 91605" & @CRLF & _ " Steinach bei Rothenburg ob der Tauber 91605" & @CRLF & _ "" & @CRLF & _ "91607: Gebsattel" & @CRLF & _ "Bockenfeld" & @CRLF & _ " Eckartshof" & @CRLF & _ " Gebsattel" & @CRLF & _ " Kirnberg" & @CRLF & _ " Pleikartshof" & @CRLF & _ " Rödersdorf" & @CRLF & _ " Speierhof" & @CRLF & _ " Wildenhof" & @CRLF & _ "" & @CRLF & _ "91608: Geslau" & @CRLF & _ " Aidenau" & @CRLF & _ " Dornhausen" & @CRLF & _ " Geslau" & @CRLF & _ " Gunzendorf" & @CRLF & _ " Hürbel" & @CRLF & _ " Kreuth" & @CRLF & _ " Lauterbach" & @CRLF & _ " Oberbreitenau" & @CRLF & _ " Oberndorf" & @CRLF & _ " Reinswinden" & @CRLF & _ " Schwabsroth" & @CRLF & _ " Steinach am Wald" & @CRLF & _ " Stettberg" & @CRLF & _ " Unterbreitenau" & @CRLF & _ "" & @CRLF & _ "91610: Insingen" & @CRLF & _ " Insingen 91610" & @CRLF & _ " Leidenberg 91610" & @CRLF & _ " Leuzhof 91610" & @CRLF & _ " Lohr 91610" & @CRLF & _ " Lohrbach 91610" & @CRLF & _ "" & @CRLF & _ "91613: Marktbergel" & @CRLF & _ "Ermetzhof 91613" & @CRLF & _ " Marktbergel 91613" & @CRLF & _ " Ottenhofen 91613" & @CRLF & _ "" & @CRLF & _ "91616: Neusitz" & @CRLF & _ "Erlbach ob der Tauber" & @CRLF & _ " Horabach ob der Tauber" & @CRLF & _ " Neusitz" & @CRLF & _ " Schweinsdorf ob der Tauber" & @CRLF & _ " Södelbronn ob der Tauber" & @CRLF & _ " Wachsenberg ob der Tauber" & @CRLF & _ "" & @CRLF & _ "91620: Ohrenbach" & @CRLF & _ " Gailshofen" & @CRLF & _ " Gumpelshofen" & @CRLF & _ " Habelsee" & @CRLF & _ " Oberscheckenbach" & @CRLF & _ " Ohrenbach" & @CRLF & _ " Reichardsroth" & @CRLF & _ "" & @CRLF & _ "91628: Steinsfeld" & @CRLF & _ " Bettwar" & @CRLF & _ " Chausseehaus" & @CRLF & _ " Ellwingshofen" & @CRLF & _ " Endsee" & @CRLF & _ " Gattenhofen" & @CRLF & _ " Hartershofen" & @CRLF & _ " Reichelshofen" & @CRLF & _ " Steinsfeld" & @CRLF & _ " Urphershofen" & @CRLF & _ "" & @CRLF & _ "91631: Wettringen" & @CRLF & _ "Grüb" & @CRLF & _ " Obergailnau" & @CRLF & _ " Reichenbach" & @CRLF & _ " Seemühle" & @CRLF & _ " Taubermühle" & @CRLF & _ " Untergailnau" & @CRLF & _ " Wettringen" & @CRLF & _ "" & @CRLF & _ "91635: Windelsbach" & @CRLF & _ "Birkach" & @CRLF & _ " Burghausen" & @CRLF & _ " Cadolzhofen" & @CRLF & _ " Hornau" & @CRLF & _ " Linden bei Rothenburg ob der Tauber" & @CRLF & _ " Nordenberg bei Rothenburg ob der Tauber" & @CRLF & _ " Preuntsfelden" & @CRLF & _ " Windelsbach" & @CRLF & _ "" & @CRLF & _ "91637: Wörnitz" & @CRLF & _ "Arzbach" & @CRLF & _ " Bastenau" & @CRLF & _ " Bottenweiler" & @CRLF & _ " Erzberg" & @CRLF & _ " Harlang" & @CRLF & _ " Mittelstetten" & @CRLF & _ " Oberwörnitz" & @CRLF & _ " Walkersdorf" & @CRLF & _ " Wörnitz" & @CRLF & _ "" & @CRLF & _ "97215: Uffenheim" & @CRLF & _ "Brackenlohr" & @CRLF & _ " Custenlohr" & @CRLF & _ " Kleinharbach" & @CRLF & _ " Langensteinach" & @CRLF & _ " Rudolzhofen" & @CRLF & _ " Uffenheim" & @CRLF & _ " Uttenhofen" & @CRLF & _ " Wallmersbach" & @CRLF & _ " Welbhausen" & @CRLF & _ "" & @CRLF & _ "97215: Weigenheim" & @CRLF & _ "Geckenheim 97215" & @CRLF & _ " Reusch bei Würzburg 97215" & @CRLF & _ " Weigenheim 97215" & @CRLF & _ "" & @CRLF & _ "97215: Simmershofen" & @CRLF & _ " Adelhofen" & @CRLF & _ " Auernhofen" & @CRLF & _ " Equarhofen" & @CRLF & _ " Hohlach" & @CRLF & _ " Simmershofen" & @CRLF & _ " Walkershofen" & @CRLF & _ "" & @CRLF & _ "97993: Creglingen" & @CRLF & _ " Archshofen" & @CRLF & _ " Blumweiler" & @CRLF & _ " Craintal" & @CRLF & _ " Creglingen" & @CRLF & _ " Erdbach" & @CRLF & _ " Finsterlohr" & @CRLF & _ " Frauental" & @CRLF & _ " Freudenbach" & @CRLF & _ " Lichtel" & @CRLF & _ " Lohrhof" & @CRLF & _ " Münster" & @CRLF & _ " Niederrimbach" & @CRLF & _ " Niedersteinach" & @CRLF & _ " Oberrimbach" & @CRLF & _ " Reinsbronn" & @CRLF & _ " Reutsachsen" & @CRLF & _ " Schirmbach" & @CRLF & _ " Schmerbach" & @CRLF & _ " Schön" & @CRLF & _ " Schonach" & @CRLF & _ " Schwarzenbronn" & @CRLF & _ " Sechselbach" & @CRLF & _ " Seldeneck" & @CRLF & _ " Waldmannshofen" & @CRLF & _ " Weidenhof" & @CRLF & _ " Weiler" & @CRLF & _ " Wolfsbuch" & @CRLF & _ "" & @CRLF & _ "97996: Niederstetten" & @CRLF & _ "Adolzhausen" & @CRLF & _ " Dunzendorf" & @CRLF & _ " Ebertsbronn" & @CRLF & _ " Eichhof" & @CRLF & _ " Ermershausen" & @CRLF & _ " Hachtel" & @CRLF & _ " Heimberg" & @CRLF & _ " Herrenzimmern" & @CRLF & _ " Niederstetten" & @CRLF & _ " Oberstetten" & @CRLF & _ " Pfitzingen" & @CRLF & _ " Rinderfeld" & @CRLF & _ " Rüsselhausen" & @CRLF & _ " Sichertshausen" & @CRLF & _ " Streichental" & @CRLF & _ " Vorbachzimmern" & @CRLF & _ " Wermutshausen" & @CRLF & _ " Wildentierbach" & @CRLF & _ " Wolkersfelden" & @CRLF & _ "" Local $sSubst = "\t\1" 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