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 (10)

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)^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[\w!@#$%]{6,}$" Local $sString = "INVALID:" & @CRLF & _ "abcdefg" & @CRLF & _ "abc" & @CRLF & _ "abcdefghji" & @CRLF & _ "abCDEFghij" & @CRLF & _ "1234efghij" & @CRLF & _ "abcde6789" & @CRLF & _ "ab!67fghij" & @CRLF & _ "ab)=" & @CRLF & _ "" & @CRLF & _ "VALID:" & @CRLF & _ "8vB0k3XiLp" & @CRLF & _ "VvsfM5he#X" & @CRLF & _ "d10STfJ$gA" & @CRLF & _ "R1cIX7mn8T" & @CRLF & _ "6EDNTbda%z" & @CRLF & _ "IKkED0#zYS" & @CRLF & _ "1S#9duFcHe" & @CRLF & _ "KP1fN3jTwJ" & @CRLF & _ "iRS1YB@nfI" & @CRLF & _ "Vp1yRxwuGD" & @CRLF & _ "fajT2ukURg" & @CRLF & _ "9tY8#HkojR" & @CRLF & _ "@LHTbA3C7J" & @CRLF & _ "%HLK6EqANV" & @CRLF & _ "#vZR6in5KJ" & @CRLF & _ "!WwjH3K65v" & @CRLF & _ "%5WOIrCv@R" & @CRLF & _ "emfpLRE5oD" & @CRLF & _ "zREw13rcJn" & @CRLF & _ "#NU42oxYa0" & @CRLF & _ "$oujwK%xR7" & @CRLF & _ "1YH#uOFQlV" & @CRLF & _ "L936DS2ynR" & @CRLF & _ "ab4RAVCZHv" & @CRLF & _ "9xwiZmDSAd" & @CRLF & _ "eZjPHg3B8i" & @CRLF & _ "OANw!p8yxH" & @CRLF & _ "J6efM@hxNz" & @CRLF & _ "qvmefZI3Wn" & @CRLF & _ "fH9wXGK8ZI" & @CRLF & _ "eHcl3qRYGS" & @CRLF & _ "i8we0zpOvr" & @CRLF & _ "1kpSFgeIKA" & @CRLF & _ "p8eM@FtZ9n" & @CRLF & _ "rj95zq!E3I" & @CRLF & _ "lkDKt@486w" & @CRLF & _ "7!j50lyxgB" & @CRLF & _ "%vBCxLq6Ym" & @CRLF & _ "@ky$u9iSGm" & @CRLF & _ "%QD9jA6Lm@" & @CRLF & _ "JolTzf7gUr" & @CRLF & _ "cSRe%v46Or" & @CRLF & _ "oJVlc#Gdn3" & @CRLF & _ "G!%NF0XESp" & @CRLF & _ "76dMFmbf%X" & @CRLF & _ "3JQlSRiXLj" & @CRLF & _ "Y$!%WCgti0" & @CRLF & _ "D1k$#ThiqG" & @CRLF & _ "M6tPY$XzQp" & @CRLF & _ "@gUcrWm7zA" & @CRLF & _ "1xc#hwGj0D" & @CRLF & _ "s8p#S$ZkWP" & @CRLF & _ "sIP3dQL#4j" & @CRLF & _ "bBLEnvlFI3" & @CRLF & _ "isSeP4AC%w" & @CRLF & _ "1OsdI4iCjR" & @CRLF & _ "@p#qm$NA9Z" & @CRLF & _ "guPjtIp5!i" & @CRLF & _ "a84ONQRZXY" & @CRLF & _ "homJ9T6w80" & @CRLF & _ "$!uh09kaUO" & @CRLF & _ "CTIX7vsalJ" & @CRLF & _ "2CASR7IUyY" & @CRLF & _ "Tr1jl!oKPF" & @CRLF & _ "2%ar6kMCZe" & @CRLF & _ "m4TrLJC!cD" & @CRLF & _ "3E#mZ!jrdn" & @CRLF & _ "oZIa$xmDU8" & @CRLF & _ "9wXxBaJAyz" & @CRLF & _ "0%dNQfyr$e" & @CRLF & _ "ez#IcxH8SX" & @CRLF & _ "MF$m6wile%" & @CRLF & _ "ilo3FURh9t" & @CRLF & _ "d71hgGe5Vo" & @CRLF & _ "KEr9u7CRtP" & @CRLF & _ "CfUE4Fj$Ju" & @CRLF & _ "aXSG5wIQor" & @CRLF & _ "VTk2fmDlbx" & @CRLF & _ "GHxBwpt0dN" & @CRLF & _ "mYS2Q1zFi!" & @CRLF & _ "qD0KiayFz4" & @CRLF & _ "hT9FrGQ$dS" & @CRLF & _ "5eKrEvnBZA" & @CRLF & _ "gA$fXPUd2#" & @CRLF & _ "Eoz8uqBART" & @CRLF & _ "7wKEo6jJGX" & @CRLF & _ "1p4Zj7Ssk2" & @CRLF & _ "K#MX8Q61dr" & @CRLF & _ "L%S2Kh7Q@r" & @CRLF & _ "fwD6zy$NM@" & @CRLF & _ "zyJPri5u7N" & @CRLF & _ "MyAI!j2iz%" & @CRLF & _ "9blWdD5!w@" & @CRLF & _ "iw6Ef3dBLk" & @CRLF & _ "JMYD1iHol2" & @CRLF & _ "#M1OUJ0VDi" & @CRLF & _ "e@78BCHLI%" & @CRLF & _ "oeD1F!4ifz" & @CRLF & _ "pCblno9zyJ" & @CRLF & _ "FJKErsBTp6" 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