Regular Expressions 101

Save & Share

  • Regex Version: ver. 27
  • 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

/
/
gmx

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)^" & @CRLF & _ "# 40-character hex values are okay" & @CRLF & _ "(0x[a-fA-F\d]{40}(*ACCEPT)" & @CRLF & _ "# 'D' or 'X' followed by 33 specific characters are okay" & @CRLF & _ "|D[^0-4\W_IOV-Z][^\W_IOl0]{32}(*ACCEPT)" & @CRLF & _ "|X[^\W_IOl0]{33}(*ACCEPT)" & @CRLF & _ "# 'bc1' followed by a range of specific characters are okay" & @CRLF & _ "|bc1[^\W_IO]{25,39}(*ACCEPT)" & @CRLF & _ "# Anything else is NOT okay, and all remaining processing should stop" & @CRLF & _ "|(*COMMIT)[13][^\W_IOl0]{33}" & @CRLF & _ ")" Local $sString = "0x7309f0134f3e51e8Cbe29dd86068e0f264f6c946" & @CRLF & _ "0x7a250d5630b4cf539739df2c5dacb4c659f2488d" & @CRLF & _ "0x6b1b45c925b29ea9d5bdde5490d7016edd288700" & @CRLF & _ "0x61765fc9f4e67612d53f29b31484D9e95cc3bdb3" & @CRLF & _ "0xD9cfbf343ac0eec25f5e2ead383fb4d57aaafbf9" & @CRLF & _ "0x870205573906a3122f3647d34775FF77cb33f90e" & @CRLF & _ "0x2dddae5c2c27ae6c1751cac72adacfe82a60f8a4" & @CRLF & _ "0xab06b7806eac2329c5585ddd08dd7fe4e13dde5d" & @CRLF & _ "bc1q3xe5n0j3qnsqc045e2vfx0246qzq5nyzag35xv" & @CRLF & _ "bc1qjw2g03cdnwcxh8gwfcypd3hu3s3md3aqe8zvrl" & @CRLF & _ "bc1qrupduyqlh4r5627vyz46fxker6wrf0sqt7he24" & @CRLF & _ "bc1qyemk24czaa6a2nr89nrz775wefg32d" & @CRLF & _ "17PZUMBg3gaPZvzC6jD4RMYT6J7D8ByzGa" & @CRLF & _ "1FMTSe43cKHTpR6r5xqEuE76hnFBkToGjY" & @CRLF & _ "35cydMA2G5i52XiM1wJ4EZf12fHdJ8hegQ" & @CRLF & _ "3PdD6TiMAdF34JieBgMSGAEFTMsHvQLBLC" & @CRLF & _ "DBs4WcRE7eysKwRxHNX88XZVCQ9M6QSUSz" & @CRLF & _ "DTkv31pUBjJUVrD34mAWf8Cp9BgEkUtNPM" & @CRLF & _ "DDTtqnuZ5kfRT5qh2c7sNtqrJmV3iXYdGG" & @CRLF & _ "DGottmgfevJzhhfmvGdA2JpMjMJ1DsSKjJ" & @CRLF & _ "D9a1Ah7mUNAJwNqHPER4DN9zNLoqcYFDZW" & @CRLF & _ "D5zikmZbvK6ReZSFPDVGusqP3qKcJTjo4r" & @CRLF & _ "DLCDJhnh6aGotar6b182jpzbNEyXb3C361" & @CRLF & _ "D61T1GVeMZM8UHvXKyyD55Ur9efAF2mb5f" & @CRLF & _ "XtbJQV8RWC39gMYsVdbRMCwMBDTAYPP99R" & @CRLF & _ "Xi7CnDniGd726iY4pQr79PTqWtZuVDGu8g" & @CRLF & _ "XxXhd59h44sRdvT3h5t2WXatox8Jhng9ob" & @CRLF & _ "XnjYnC83zC9VAAkf1hg7yPEHJrd3vJwR2d" & @CRLF & _ "XoCccXGPj16WZPzzD3UjsXRTPySZsAAXVD" & @CRLF & _ "Xh77YHy84s2mrsAWZftY1oZNZUakPHyL35" & @CRLF & _ "XuixmDKiB1fPzamnLoZw9Km3Lk7e2CyRT1" & @CRLF & _ "XbJvzQQCWxLNkRUeFq4nS5FQhwT1LWVXJh" & @CRLF & _ "bc1qyemk24czaa6a2nr89nrz775w" & @CRLF & _ "" & @CRLF & _ "1x870205573906a3122f3647d34775ff77cb33f90e" & @CRLF & _ "Ox2dddae5c2c27ae6c1751cac72adacfe82a60f8a4" & @CRLF & _ "0xab06bg806eac2329c5585ddd08dd7fe4e13dde5d" & @CRLF & _ "0xD9cfbf343AC0eec25f5e_ead383fb4d57aaafbf9" & @CRLF & _ "bclq3xe5n0j3qnsqc045e2vfx0246qzq5nyzag35xv" & @CRLF & _ "bc1yemk24czaa6a2nr89nrz775wvptxg57yIe750ut" & @CRLF & _ "0xab06b7806eac2329c5585ddd08dd7fe4" & @CRLF & _ "25cydMA2G5i52XiM1wJ4EZf12fHdJ8hegQ" & @CRLF & _ "3PdD6TIMAdF34JieBgMSGAEFTMsHvQLBLC" & @CRLF & _ "lFMTSe43cKHTpR6r5xqEuE76hnFBkT0GjY" & @CRLF & _ "12GFUMBg3gaPZOzC6lD4RMYT6J7D8ByzGa" & @CRLF & _ "DI1T1GVeMZM8UHvXKyyD55Ur9efAF2mb5f" & @CRLF & _ "D4JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ" & @CRLF & _ "D41T1GVeMZM8UHvXKyyD55Ur9efAF2mb5f" & @CRLF & _ "D1zikmZbvK6ReZSFPDVGusqP3qKcJTjo4r" & @CRLF & _ "DOTtqnuZ5kfRs5qh2c7sNtqrJmV3iXYdff" & @CRLF & _ "DLCDJhnh6aGotar6b182jpzbNEyXb3C36l" & @CRLF & _ "XoGGGXGPj06WZPzzD3UjsXRTPySZsAAXVD" & @CRLF & _ "Xh66YHy22s2mrsAWZftYIoZNZUakPXYdff" & @CRLF & _ "XuixmDKiBlfPzamnLoZw9Km3Lk7e2CyRT1" & @CRLF & _ "XBBBBBBCCCCCCRUeFq4nS5F0hwT1LLLLLh" & @CRLF & _ "bc1qemk24czaa6a2nr89nrz775w" & @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