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

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)^\(?(?'prefix'\+|(?:0(?:0(?:0|1|9)?|1(?:0|1))?|119)[-. ])?(?'group'[1-9])[-. ]?(?'CC'[0-9]{0,3})\)?[)-. ](?'number'(?:[0-9]+[-. ]?)+)$" Local $sString = "1-719-691-8965" & @CRLF & _ "1-803-974-0876" & @CRLF & _ "1-688-944-7218" & @CRLF & _ "1-945-925-9015" & @CRLF & _ "1-644-486-1985" & @CRLF & _ "1-949-959-6957" & @CRLF & _ "1-989-134-4495" & @CRLF & _ "1-789-437-5612" & @CRLF & _ "1-759-923-2805" & @CRLF & _ "1-108-433-5627" & @CRLF & _ "(656) 322-0032" & @CRLF & _ "(318) 842-1324" & @CRLF & _ "(108) 803-8302" & @CRLF & _ "(638) 621-0848" & @CRLF & _ "(258) 568-2801" & @CRLF & _ "(423) 453-2131" & @CRLF & _ "(372) 785-2492" & @CRLF & _ "(189) 151-8444" & @CRLF & _ "(339) 570-2367" & @CRLF & _ "(640) 308-3953" & @CRLF & _ "(0110) 348 1534" & @CRLF & _ "055 2168 7289" & @CRLF & _ "(0151) 725 1366" & @CRLF & _ "(0121) 684 2474" & @CRLF & _ "0800 243574" & @CRLF & _ "055 4684 1647" & @CRLF & _ "0800 1111" & @CRLF & _ "0894 723 5978" & @CRLF & _ "0800 822381" & @CRLF & _ "056 5354 9145" & @CRLF & _ "(016977) 3324" & @CRLF & _ "07624 161240" & @CRLF & _ "076 6589 9375" & @CRLF & _ "0845 46 42" & @CRLF & _ "(013910) 74936" & @CRLF & _ "0800 1111" & @CRLF & _ "(023) 2043 2875" & @CRLF & _ "056 7349 4620" & @CRLF & _ "(01082) 153918" & @CRLF & _ "0500 298890" & @CRLF & _ "+3733 111 " & @CRLF & _ "04 78 61 38 36" & @CRLF & _ "01 37 75 44 65" & @CRLF & _ "02 27 33 25 93" & @CRLF & _ "03 54 12 98 46" & @CRLF & _ "02 65 05 29 43" & @CRLF & _ "08 78 84 22 07" & @CRLF & _ "05 18 68 87 99" & @CRLF & _ "01 28 44 68 61" & @CRLF & _ "08 97 83 13 84" & @CRLF & _ "05 58 53 92 71" & @CRLF & _ "04 97 24 20 43" & @CRLF & _ "03 12 51 82 47" & @CRLF & _ "(08) 2380 0007" & @CRLF & _ "(07) 8293 5212" & @CRLF & _ "(04) 1216 5933" & @CRLF & _ "(09) 7562 7473" & @CRLF & _ "(08) 0719 4870" & @CRLF & _ "(09) 9777 4813" & @CRLF & _ "(03) 5336 4899" & @CRLF & _ "(09) 0165 1310" & @CRLF & _ "(07) 3778 1180" & @CRLF & _ "(03) 7244 9033" & @CRLF & _ "(01) 5422 5928" & @CRLF & _ "(01) 7319 1377" & @CRLF & _ "(02) 2718 7173" & @CRLF & _ "(09) 8648 6765" & @CRLF & _ "(02) 2561 3465" & @CRLF & _ "(02) 7415 0181" & @CRLF & _ "(05) 5450 5084" & @CRLF & _ "(09) 9957 6381" & @CRLF & _ "(03) 3355 7957" & @CRLF & _ "(06) 8709 6724" & @CRLF & _ "(0267) 88248907" & @CRLF & _ "(039382) 214578" & @CRLF & _ "(097) 87594749" & @CRLF & _ "(001) 75847459" & @CRLF & _ "(039972) 748017" & @CRLF & _ "(037590) 069162" & @CRLF & _ "(049) 44530022" & @CRLF & _ "(066) 23958967" & @CRLF & _ "(0860) 13670781" & @CRLF & _ "(0209) 31052751" & @CRLF & _ "(038947) 213657" & @CRLF & _ "(06884) 9075505" & @CRLF & _ "(019) 70106155" & @CRLF & _ "(036268) 869755" & @CRLF & _ "(0296) 22826783" & @CRLF & _ "(059) 80297108" & @CRLF & _ "(0286) 14276801" & @CRLF & _ "(0939) 22673186" & @CRLF & _ "(0111) 84734269" & @CRLF & _ "(0817) 56797177" & @CRLF & _ "050-293-7278" & @CRLF & _ "006-438-1474" & @CRLF & _ "099-518-8110" & @CRLF & _ "030-904-4947" & @CRLF & _ "094-043-8752" & @CRLF & _ "093-043-7922" & @CRLF & _ "017-937-3014" & @CRLF & _ "028-770-0387" & @CRLF & _ "040-521-6038" & @CRLF & _ "090-091-2305" & @CRLF & _ "913-6377" & @CRLF & _ "1-523-604-1043" & @CRLF & _ "1-120-480-2177" & @CRLF & _ "1-151-194-4404" & @CRLF & _ "966-6015" & @CRLF & _ "786-7106" & @CRLF & _ "433-9035" & @CRLF & _ "989-7973" & @CRLF & _ "1-640-644-0966" & @CRLF & _ "168-5472" & @CRLF & _ "1-530-230-0179" & @CRLF & _ "1-238-854-0493" & @CRLF & _ "541-4932" & @CRLF & _ "1-793-996-2597" & @CRLF & _ "771-6231" & @CRLF & _ "1-388-639-1864" & @CRLF & _ "1-668-361-1245" & @CRLF & _ "1-185-371-5208" & @CRLF & _ "1-293-175-2379" & @CRLF & _ "1-749-679-0982" & @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