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

Code Generator

Generated Code

#include <StringConstants.au3> ; to declare the Constants of StringRegExp #include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate Local $sRegex = "(?mx)^(?=[A-Z]{1,4}\b)" & @CRLF & _ "" & @CRLF & _ "# Notice the matches below that don't fully match if these are NOT in reverse order:" & @CRLF & _ "(ACCS|ALLY|ALWY|AMBL|APP|ARC|ARTL|ARTY|AV|BA|BEND|BWLK|BVD|BR|BRAE|BRK|BROW|BYPA|BYWY|CSWY|CTR|CH|CIR|CCT|CRCS|CL|CON|CPS|CNR|CT|CTYD|COVE|CR|CRST|CRSS|CSAC|CUTT|DALE|DIP|DR|DVWY|EDGE|ELB|END|ENT|ESP|EXP|FAWY|FOLW|FTWY|FORM|FWY|FRTG|GAP|GDNS|GTE|GLDE|GLEN|GRA|GRN|GR|HTS|HIRD|HWY|HILL|INTG|JNC|KEY|LANE|LNWY|LINE|LINK|LKT|LOOP|MALL|MNDR|MEWS|MTWY|NOOK|OTLK|PDE|PWY|PASS|PSGE|PATH|PWAY|PIAZ|PLZA|PKT|PNT|PORT|PROM|QDRT|QYS|RMBL|REST|RTT|RDGE|RISE|RD|RTY|RTE|ROW|RUE|SVWY|SHUN|SPUR|SQ|ST|SBWY|TARN|TCE|THFR|TLWY|TOP|TOR|TRK|TRL|TURN|UPAS|VALE|VIAD|VIEW|VSTA|WALK|WKWY|WHRF|WYND)" Local $sString = "Value" & @CRLF & _ "Val" & @CRLF & _ "ABCDE" & @CRLF & _ "" & @CRLF & _ "ACCS" & @CRLF & _ "ALLY" & @CRLF & _ "ALWY" & @CRLF & _ "AMBL" & @CRLF & _ "APP" & @CRLF & _ "ARC" & @CRLF & _ "ARTL" & @CRLF & _ "ARTY" & @CRLF & _ "AV" & @CRLF & _ "BA" & @CRLF & _ "BEND" & @CRLF & _ "BWLK" & @CRLF & _ "BVD" & @CRLF & _ "BR" & @CRLF & _ "BRAE" & @CRLF & _ "BRK" & @CRLF & _ "BROW" & @CRLF & _ "BYPA" & @CRLF & _ "BYWY" & @CRLF & _ "CSWY" & @CRLF & _ "CTR" & @CRLF & _ "CH" & @CRLF & _ "CIR" & @CRLF & _ "CCT" & @CRLF & _ "CRCS" & @CRLF & _ "CL" & @CRLF & _ "CON" & @CRLF & _ "CPS" & @CRLF & _ "CNR" & @CRLF & _ "CT" & @CRLF & _ "CTYD" & @CRLF & _ "COVE" & @CRLF & _ "CR" & @CRLF & _ "CRST" & @CRLF & _ "CRSS" & @CRLF & _ "CSAC" & @CRLF & _ "CUTT" & @CRLF & _ "DALE" & @CRLF & _ "DIP" & @CRLF & _ "DR" & @CRLF & _ "DVWY" & @CRLF & _ "EDGE" & @CRLF & _ "ELB" & @CRLF & _ "END" & @CRLF & _ "ENT" & @CRLF & _ "ESP" & @CRLF & _ "EXP" & @CRLF & _ "FAWY" & @CRLF & _ "FOLW" & @CRLF & _ "FTWY" & @CRLF & _ "FORM" & @CRLF & _ "FWY" & @CRLF & _ "FRTG" & @CRLF & _ "GAP" & @CRLF & _ "GDNS" & @CRLF & _ "GTE" & @CRLF & _ "GLDE" & @CRLF & _ "GLEN" & @CRLF & _ "GRA" & @CRLF & _ "GRN" & @CRLF & _ "GR" & @CRLF & _ "HTS" & @CRLF & _ "HIRD" & @CRLF & _ "HWY" & @CRLF & _ "HILL" & @CRLF & _ "INTG" & @CRLF & _ "JNC" & @CRLF & _ "KEY" & @CRLF & _ "LANE" & @CRLF & _ "LNWY" & @CRLF & _ "LINE" & @CRLF & _ "LINK" & @CRLF & _ "LKT" & @CRLF & _ "LOOP" & @CRLF & _ "MALL" & @CRLF & _ "MNDR" & @CRLF & _ "MEWS" & @CRLF & _ "MTWY" & @CRLF & _ "NOOK" & @CRLF & _ "OTLK" & @CRLF & _ "PDE" & @CRLF & _ "PWY" & @CRLF & _ "PASS" & @CRLF & _ "PSGE" & @CRLF & _ "PATH" & @CRLF & _ "PWAY" & @CRLF & _ "PIAZ" & @CRLF & _ "PLZA" & @CRLF & _ "PKT" & @CRLF & _ "PNT" & @CRLF & _ "PORT" & @CRLF & _ "PROM" & @CRLF & _ "QDRT" & @CRLF & _ "QYS" & @CRLF & _ "RMBL" & @CRLF & _ "REST" & @CRLF & _ "RTT" & @CRLF & _ "RDGE" & @CRLF & _ "RISE" & @CRLF & _ "RD" & @CRLF & _ "RTY" & @CRLF & _ "RTE" & @CRLF & _ "ROW" & @CRLF & _ "RUE" & @CRLF & _ "SVWY" & @CRLF & _ "SHUN" & @CRLF & _ "SPUR" & @CRLF & _ "SQ" & @CRLF & _ "ST" & @CRLF & _ "SBWY" & @CRLF & _ "TARN" & @CRLF & _ "TCE" & @CRLF & _ "THFR" & @CRLF & _ "TLWY" & @CRLF & _ "TOP" & @CRLF & _ "TOR" & @CRLF & _ "TRK" & @CRLF & _ "TRL" & @CRLF & _ "TURN" & @CRLF & _ "UPAS" & @CRLF & _ "VALE" & @CRLF & _ "VIAD" & @CRLF & _ "VIEW" & @CRLF & _ "VSTA" & @CRLF & _ "WALK" & @CRLF & _ "WKWY" & @CRLF & _ "WHRF" & @CRLF & _ "WYND" & @CRLF & _ "" 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