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

~
~
gms

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 = "(?ms)^\+\d{1,4}(( |\(| \(|-)?\d{1,4}( |\)|\) |-)?)?(\d{2} )?\d{2,4}[- ]?\d{2,3}[- ]?\d{0,2}$" Local $sString = "+22-22-222-2222" & @CRLF & _ "+777(777)777-777" & @CRLF & _ "+666-66-666-6666" & @CRLF & _ "+9(999)999-9999" & @CRLF & _ "+444-444-444" & @CRLF & _ "+555(555)555-555" & @CRLF & _ "+0(000)000-0000" & @CRLF & _ "+1(111)111-1111" & @CRLF & _ "+11(111)111-1111" & @CRLF & _ "+111-11-111-111" & @CRLF & _ "+666-666-6666" & @CRLF & _ "+99 999 999 999" & @CRLF & _ "+77(777)777-7777" & @CRLF & _ "+999-99-999-99-99" & @CRLF & _ "+8(888)888-8888" & @CRLF & _ "+333-3333-3333" & @CRLF & _ "+000-00-000-000" & @CRLF & _ "+7(777)777-7777" & @CRLF & _ "+111(11)111-11-11" & @CRLF & _ "+55 555 55 55 55" & @CRLF & _ "+222-222-2222" & @CRLF & _ "+888-88-88-8888" & @CRLF & _ "+4(444)444-4444" & @CRLF & _ "+333-3-333-333" & @CRLF & _ "+555-5-555-5555" & @CRLF & _ "+555-55-5555" & @CRLF & _ "+666-66-666-666" & @CRLF & _ "+55-55-5555-5555" & @CRLF & _ "+999-999-9999" & @CRLF & _ "+5(555)555-5555" & @CRLF & _ "+666-666-6666" & @CRLF & _ "+111(111)111-111" & @CRLF & _ "+666-66-66-6666" & @CRLF & _ "+666-66-66-6666" & @CRLF & _ "+666-66-666-666" & @CRLF & _ "+000-0000-0000" & @CRLF & _ "+2 (222) 222-2222" & @CRLF & _ "+111(111)11-11" & @CRLF & _ "+999-999-9999" & @CRLF & _ "+0(000)000-0000" & @CRLF & _ "+555-55-55-5555" & @CRLF & _ "+444-44-44-44-44" & @CRLF & _ "+88-8-8888-8888" & @CRLF & _ "+11 11-11111111" & @CRLF & _ "+77(777)777-7777" & @CRLF & _ "+111-11-11111" & @CRLF & _ "+666(666)666-666" & @CRLF & _ "+999-99-999-9999" & @CRLF & _ "+777-77-777" & @CRLF & _ "+111 1111-1111" & @CRLF & _ "+666-66-666-666" & @CRLF & _ "+555-55-555-555" & @CRLF & _ "+33-3-333-3333" & @CRLF & _ "+666-666-6666" & @CRLF & _ "+222-22-222-222" & @CRLF & _ "+666(666)666-666" & @CRLF & _ "+55 55 55 55 55" & @CRLF & _ "+888-88-88-88-88" & @CRLF & _ "+5(555)555-5555" & @CRLF & _ "+7(777)777-7777" & @CRLF & _ "+111-1-111-1111" & @CRLF & _ "+66(666)666-6666" & @CRLF & _ "+111 1111-1111" & @CRLF & _ "+666-66-666-6666" & @CRLF & _ "+333-3-333-333" & @CRLF & _ "+000-000-0000" & @CRLF & _ "+222-22-222-2222" & @CRLF & _ "+666-66666" & @CRLF & _ "+777-777-777" & @CRLF & _ "+666-66-66666" & @CRLF & _ "+222 22 222 22 22" & @CRLF & _ "+33 3 33 33 33 33" & @CRLF & _ "+333-33333-3333" & @CRLF & _ "+777-77-77-77" & @CRLF & _ "+999-9-99-99-99" & @CRLF & _ "+555(555)55-55" & @CRLF & _ "+666(666)666-666" & @CRLF & _ "+55 555 5555555" & @CRLF & _ "+000(000)000-000" & @CRLF & _ "+000-000-00000" & @CRLF & _ "+55(555)555-5555" & @CRLF & _ "+444-44-44-44" & @CRLF & _ "+5(555)555-5555" & @CRLF & _ "+5(555)555-5555" & @CRLF & _ "+111 1111-1111" & @CRLF & _ "+444-44-444-444" & @CRLF & _ "+555-5-555555" & @CRLF & _ "+222-222-2222" & @CRLF & _ "+333 3333-3333" & @CRLF & _ "+000-0000-0000" & @CRLF & _ "+666 6666 6666" & @CRLF & _ "+88(888)888-888" & @CRLF & _ "+222 222 2222" & @CRLF & _ "+22 22222-22222" & @CRLF & _ "+77-77-777-77" & @CRLF & _ "+11(111)111-1111" & @CRLF & _ "+333(333)333-3333" & @CRLF & _ "+111 11 1111111" & @CRLF & _ "+999-9-999-9999" & @CRLF & _ "+99 999 999999" & @CRLF & _ "+7(777)777-7777" & @CRLF & _ "+99 999 99 9999" & @CRLF & _ "+000-0-0000-0000" & @CRLF & _ "+2 222 222-22-22" & @CRLF & _ "+444-444-444444" & @CRLF & _ "+222-22-222" & @CRLF & _ "+777-7777-7777" & @CRLF & _ "+111(111)111-111" & @CRLF & _ "+000-00-000-000" & @CRLF & _ "+444-44-444-444" & @CRLF & _ "+999-9-999-999" & @CRLF & _ "+111-1-111-1111" & @CRLF & _ "+888-88-888-888" & @CRLF & _ "+666-66-666-666" & @CRLF & _ "+333(333)333-3333" & @CRLF & _ "+666(666)66-666" & @CRLF & _ "+222(222)222-222" & @CRLF & _ "+111-1111-1111" & @CRLF & _ "+999-99-999-999" & @CRLF & _ "+222-22-22-22222" & @CRLF & _ "+555-5-5555-5555" & @CRLF & _ "+33 33-3333-3333" & @CRLF & _ "+000-000-0000" & @CRLF & _ "+222-22-22-2222" & @CRLF & _ "+333-3333-3333" & @CRLF & _ "+555-555-5555" & @CRLF & _ "+555(555)55-55-55" & @CRLF & _ "+111-11-11-1111" & @CRLF & _ "+777-777-7777" & @CRLF & _ "+11-11-11-1111" & @CRLF & _ "+999-999-9999" & @CRLF & _ "+666-6666-6666" & @CRLF & _ "+444-44-444-444" & @CRLF & _ "+111-11-11-1111" & @CRLF & _ "+999-99-999-999" & @CRLF & _ "+0(000)000-0000" & @CRLF & _ "+333-33-3333-333" & @CRLF & _ "+333-33-333-333" & @CRLF & _ "+33-333-333" & @CRLF & _ "+888-88-888-8888" & @CRLF & _ "+333-333-3333" & @CRLF & _ "+777-77-777-777" & @CRLF & _ "+44 44 44444444" & @CRLF & _ "+888-88-8888" & @CRLF & _ "+44 444-444-4444" & @CRLF & _ "+777-7777-7777" & @CRLF & _ "+444-44-44-4444" & @CRLF & _ "+222-22-222-22" & @CRLF & _ "+222-2222" & @CRLF & _ "+333-333-333" & @CRLF & _ "+222-222-222" & @CRLF & _ "+2(222)222-2222" & @CRLF & _ "+66 666 66 666" & @CRLF & _ "+666-66-666-666" & @CRLF & _ "+44 444-4444444" & @CRLF & _ "+666-666-6666" & @CRLF & _ "+555-55-555-5555" & @CRLF & _ "+000-000-0000" & @CRLF & _ "+666(666)66-666" & @CRLF & _ "+222(222)222-222" & @CRLF & _ "+44(444)444-444" & @CRLF & _ "+11 111 1111" & @CRLF & _ "+88 888-888-888" & @CRLF & _ "+222-22-222-2222" & @CRLF & _ "+111-1111-1111" & @CRLF & _ "+888-88888-8888" & @CRLF & _ "+99-99-999-9999" & @CRLF & _ "+2 222 222-22-22" & @CRLF & _ "+999(999)999-999" & @CRLF & _ "+4(444)444-4444" & @CRLF & _ "+6(666)666-6666" & @CRLF & _ "+2(222)222-2222" & @CRLF & _ "+999-99-9999" & @CRLF & _ "+111-1111-111111" & @CRLF & _ "+777-77-77777" & @CRLF & _ "+222-2-222-2222" & @CRLF & _ "+222-22-222-2222" & @CRLF & _ "+555-55-555-5555" & @CRLF & _ "+222-2-222-222" & @CRLF & _ "+222-22-222222" & @CRLF & _ "+11 1111-1111" & @CRLF & _ "+2(222)222-2222" & @CRLF & _ "+111(111)111-111" & @CRLF & _ "+777-77-777-777" & @CRLF & _ "+777-77777" & @CRLF & _ "+777-7-777-777" & @CRLF & _ "+99-99-999-9999" & @CRLF & _ "+44-44-444-4444" & @CRLF & _ "+222-22-222-2222" & @CRLF & _ "+77 777 777 777" & @CRLF & _ "+55-55-555-5555" & @CRLF & _ "+555-55-555-5555" & @CRLF & _ "+444-444-444" & @CRLF & _ "+999-99-99-9999" & @CRLF & _ "+77 77 777 77 77" & @CRLF & _ "+55 55 555 55 55" & @CRLF & _ "+999-99-9999-999" & @CRLF & _ "+999-9999-9999" & @CRLF & _ "+888-88-888-8888" & @CRLF & _ "+333-33-333-3333" & @CRLF & _ "+44-44-444-444" & @CRLF & _ "+222-222-2222" & @CRLF & _ "+777-77-777-777" & @CRLF & _ "+777-7777" & @CRLF & _ "+333-33333" & @CRLF & _ "+5(555)555-5555" & @CRLF & _ "+444-44-444-444" & @CRLF & _ "+44 444 444 44 44" & @CRLF & _ "+777-7-777-7777" & @CRLF & _ "+1(111)111-1111" & @CRLF & _ "+222-22222" & @CRLF & _ "+2(222)222-2222" & @CRLF & _ "+111(111)111-111" & @CRLF & _ "+000(00)000-00-00" & @CRLF & _ "+000-0-000-0000" & @CRLF & _ "+77 7777 777777" & @CRLF & _ "+2 (222) 222-2222" & @CRLF & _ "+666-6-666-66-66" & @CRLF & _ "+666-66-666-6666" & @CRLF & _ "+111-11111" & @CRLF & _ "+11 11 1111 1111" & @CRLF & _ "+00(000)000-0000" & @CRLF & _ "+33-33-3333-333" & @CRLF & _ "+444-44-4444" & @CRLF & _ "+444-4-444-444" & @CRLF & _ "+888-88-888-8888" & @CRLF & _ "+555-5-555555" 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