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

/
/
gm

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 = "(?m)\b(?<pool>([A-Z])\2{0,2})(?<number>(\d{1,2}(?!\d)|100))\b" Local $sString = "A" & @CRLF & _ "1" & @CRLF & _ "A1" & @CRLF & _ "A2" & @CRLF & _ "A3" & @CRLF & _ "A4" & @CRLF & _ "A5" & @CRLF & _ "A6" & @CRLF & _ "A7" & @CRLF & _ "A8" & @CRLF & _ "A9" & @CRLF & _ "A10" & @CRLF & _ "A11" & @CRLF & _ "A12" & @CRLF & _ "A13" & @CRLF & _ "A14" & @CRLF & _ "A15" & @CRLF & _ "A16" & @CRLF & _ "A17" & @CRLF & _ "A18" & @CRLF & _ "A19" & @CRLF & _ "A20" & @CRLF & _ "A21" & @CRLF & _ "A22" & @CRLF & _ "A23" & @CRLF & _ "A24" & @CRLF & _ "A25" & @CRLF & _ "A26" & @CRLF & _ "A27" & @CRLF & _ "A28" & @CRLF & _ "A29" & @CRLF & _ "A30" & @CRLF & _ "A31" & @CRLF & _ "A32" & @CRLF & _ "A33" & @CRLF & _ "A34" & @CRLF & _ "A35" & @CRLF & _ "A36" & @CRLF & _ "A37" & @CRLF & _ "A38" & @CRLF & _ "A39" & @CRLF & _ "A40" & @CRLF & _ "A41" & @CRLF & _ "A42" & @CRLF & _ "A43" & @CRLF & _ "A44" & @CRLF & _ "A45" & @CRLF & _ "A46" & @CRLF & _ "A47" & @CRLF & _ "A48" & @CRLF & _ "A49" & @CRLF & _ "A50" & @CRLF & _ "A51" & @CRLF & _ "A52" & @CRLF & _ "A53" & @CRLF & _ "A54" & @CRLF & _ "A55" & @CRLF & _ "A56" & @CRLF & _ "A57" & @CRLF & _ "A58" & @CRLF & _ "A59" & @CRLF & _ "A60" & @CRLF & _ "A61" & @CRLF & _ "A62" & @CRLF & _ "A63" & @CRLF & _ "A64" & @CRLF & _ "A65" & @CRLF & _ "A66" & @CRLF & _ "A67" & @CRLF & _ "A68" & @CRLF & _ "A69" & @CRLF & _ "A70" & @CRLF & _ "A71" & @CRLF & _ "A72" & @CRLF & _ "A73" & @CRLF & _ "A74" & @CRLF & _ "A75" & @CRLF & _ "A76" & @CRLF & _ "A77" & @CRLF & _ "A78" & @CRLF & _ "A79" & @CRLF & _ "A80" & @CRLF & _ "A81" & @CRLF & _ "A82" & @CRLF & _ "A83" & @CRLF & _ "A84" & @CRLF & _ "A85" & @CRLF & _ "A86" & @CRLF & _ "A87" & @CRLF & _ "A88" & @CRLF & _ "A89" & @CRLF & _ "A90" & @CRLF & _ "A91" & @CRLF & _ "A92" & @CRLF & _ "A93" & @CRLF & _ "A94" & @CRLF & _ "A95" & @CRLF & _ "A96" & @CRLF & _ "A97" & @CRLF & _ "A98" & @CRLF & _ "A99" & @CRLF & _ "A100" & @CRLF & _ "A101" & @CRLF & _ "A102" & @CRLF & _ "A103" & @CRLF & _ "AA1" & @CRLF & _ "AA2" & @CRLF & _ "AA3" & @CRLF & _ "AA4" & @CRLF & _ "AA5" & @CRLF & _ "AA6" & @CRLF & _ "AA7" & @CRLF & _ "AA8" & @CRLF & _ "AA9" & @CRLF & _ "AA10" & @CRLF & _ "AA11" & @CRLF & _ "AA12" & @CRLF & _ "AA13" & @CRLF & _ "AA14" & @CRLF & _ "AA15" & @CRLF & _ "AA16" & @CRLF & _ "AA17" & @CRLF & _ "AA18" & @CRLF & _ "AA19" & @CRLF & _ "AA20" & @CRLF & _ "AA21" & @CRLF & _ "AA22" & @CRLF & _ "AA23" & @CRLF & _ "AA24" & @CRLF & _ "AA25" & @CRLF & _ "AA26" & @CRLF & _ "AA27" & @CRLF & _ "AA28" & @CRLF & _ "AA29" & @CRLF & _ "AA30" & @CRLF & _ "AA31" & @CRLF & _ "AA32" & @CRLF & _ "AA33" & @CRLF & _ "AA34" & @CRLF & _ "AA35" & @CRLF & _ "AA36" & @CRLF & _ "AA37" & @CRLF & _ "AA38" & @CRLF & _ "AA39" & @CRLF & _ "AA40" & @CRLF & _ "AA41" & @CRLF & _ "AA42" & @CRLF & _ "AA43" & @CRLF & _ "AA44" & @CRLF & _ "AA45" & @CRLF & _ "AA46" & @CRLF & _ "AA47" & @CRLF & _ "AA48" & @CRLF & _ "AA49" & @CRLF & _ "AA50" & @CRLF & _ "AA51" & @CRLF & _ "AA52" & @CRLF & _ "AA53" & @CRLF & _ "AA54" & @CRLF & _ "AA55" & @CRLF & _ "AA56" & @CRLF & _ "AA57" & @CRLF & _ "AA58" & @CRLF & _ "AA59" & @CRLF & _ "AA60" & @CRLF & _ "AA61" & @CRLF & _ "AA62" & @CRLF & _ "AA63" & @CRLF & _ "AA64" & @CRLF & _ "AA65" & @CRLF & _ "AA66" & @CRLF & _ "AA67" & @CRLF & _ "AA68" & @CRLF & _ "AA69" & @CRLF & _ "AA70" & @CRLF & _ "AA71" & @CRLF & _ "AA72" & @CRLF & _ "AA73" & @CRLF & _ "AA74" & @CRLF & _ "AA75" & @CRLF & _ "AA76" & @CRLF & _ "AA77" & @CRLF & _ "AA78" & @CRLF & _ "AA79" & @CRLF & _ "AA80" & @CRLF & _ "AA81" & @CRLF & _ "AA82" & @CRLF & _ "AA83" & @CRLF & _ "AA84" & @CRLF & _ "AA85" & @CRLF & _ "AA86" & @CRLF & _ "AA87" & @CRLF & _ "AA88" & @CRLF & _ "AA89" & @CRLF & _ "AA90" & @CRLF & _ "AA91" & @CRLF & _ "AA92" & @CRLF & _ "AA93" & @CRLF & _ "AA94" & @CRLF & _ "AA95" & @CRLF & _ "AA96" & @CRLF & _ "AA97" & @CRLF & _ "AA98" & @CRLF & _ "AA99" & @CRLF & _ "AA100" & @CRLF & _ "AA101" & @CRLF & _ "AA102" & @CRLF & _ "AA103" & @CRLF & _ "AAA1" & @CRLF & _ "AAA2" & @CRLF & _ "AAA3" & @CRLF & _ "AAA4" & @CRLF & _ "AAA5" & @CRLF & _ "AAA6" & @CRLF & _ "AAA7" & @CRLF & _ "AAA8" & @CRLF & _ "AAA9" & @CRLF & _ "AAA10" & @CRLF & _ "AAA11" & @CRLF & _ "AAA12" & @CRLF & _ "AAA13" & @CRLF & _ "AAA14" & @CRLF & _ "AAA15" & @CRLF & _ "AAA16" & @CRLF & _ "AAA17" & @CRLF & _ "AAA18" & @CRLF & _ "AAA19" & @CRLF & _ "AAA20" & @CRLF & _ "AAA21" & @CRLF & _ "AAA22" & @CRLF & _ "AAA23" & @CRLF & _ "AAA24" & @CRLF & _ "AAA25" & @CRLF & _ "AAA26" & @CRLF & _ "AAA27" & @CRLF & _ "AAA28" & @CRLF & _ "AAA29" & @CRLF & _ "AAA30" & @CRLF & _ "AAA31" & @CRLF & _ "AAA32" & @CRLF & _ "AAA33" & @CRLF & _ "AAA34" & @CRLF & _ "AAA35" & @CRLF & _ "AAA36" & @CRLF & _ "AAA37" & @CRLF & _ "AAA38" & @CRLF & _ "AAA39" & @CRLF & _ "AAA40" & @CRLF & _ "AAA41" & @CRLF & _ "AAA42" & @CRLF & _ "AAA43" & @CRLF & _ "AAA44" & @CRLF & _ "AAA45" & @CRLF & _ "AAA46" & @CRLF & _ "AAA47" & @CRLF & _ "AAA48" & @CRLF & _ "AAA49" & @CRLF & _ "AAA50" & @CRLF & _ "AAA51" & @CRLF & _ "AAA52" & @CRLF & _ "AAA53" & @CRLF & _ "AAA54" & @CRLF & _ "AAA55" & @CRLF & _ "AAA56" & @CRLF & _ "AAA57" & @CRLF & _ "AAA58" & @CRLF & _ "AAA59" & @CRLF & _ "AAA60" & @CRLF & _ "AAA61" & @CRLF & _ "AAA62" & @CRLF & _ "AAA63" & @CRLF & _ "AAA64" & @CRLF & _ "AAA65" & @CRLF & _ "AAA66" & @CRLF & _ "AAA67" & @CRLF & _ "AAA68" & @CRLF & _ "AAA69" & @CRLF & _ "AAA70" & @CRLF & _ "AAA71" & @CRLF & _ "AAA72" & @CRLF & _ "AAA73" & @CRLF & _ "AAA74" & @CRLF & _ "AAA75" & @CRLF & _ "AAA76" & @CRLF & _ "AAA77" & @CRLF & _ "AAA78" & @CRLF & _ "AAA79" & @CRLF & _ "AAA80" & @CRLF & _ "AAA81" & @CRLF & _ "AAA82" & @CRLF & _ "AAA83" & @CRLF & _ "AAA84" & @CRLF & _ "AAA85" & @CRLF & _ "AAA86" & @CRLF & _ "AAA87" & @CRLF & _ "AAA88" & @CRLF & _ "AAA89" & @CRLF & _ "AAA90" & @CRLF & _ "AAA91" & @CRLF & _ "AAA92" & @CRLF & _ "AAA93" & @CRLF & _ "AAA94" & @CRLF & _ "AAA95" & @CRLF & _ "AAA96" & @CRLF & _ "AAA97" & @CRLF & _ "AAA98" & @CRLF & _ "AAA99" & @CRLF & _ "AAA100" & @CRLF & _ "AAA101" & @CRLF & _ "AAA102" & @CRLF & _ "AAA103" 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