Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
Sponsors
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
Processing...

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 = "\s*(\d{1}\s{9})*(\r|\n|\r\n)\s*[0-9]{80}[\r|\n|\r\n]0\s*CMD\s(?<CMD>.{18})\sADJUSTMENT\sMONETARY\sSCREEN\s{8}IAJMON\s{3}PAGE\s(?<PAGECURRENT>\d)\sOF\s(?<PAGETOTAL>\d)\s*[\r|\n|\r\n]1\s{2}SCREEN\s(?<SCREEN>.{2})\s{2}ACTION\s(?<ACTION>.{2})\s{2}RA\sNUM\s(?<RANUMBER>.{10})\s*OVRD\s(?<OVRD>.{2})INVOICE\sNUM\s(?<INVOICENUM>.{15})[\r|\n|\r\n]2.*RES\sNUM\s(?<RESNUMBER>[A-Z0-9]{11})\s(?<COMPANY>\w{1})\s*[\r|\n|\r\n]3\s*CHK\sOUT\sLOC\s(?<CHECKOUTLOC>.{3})\s*DATE\s(?<CHECKOUTDATE>.{7})\s*TIME\s(?<CHECKOUTTIME>.{5})\s*MLS\/KM\s*(?<CHECKOUTMILEAGE>.{8})\s*FUEL\s(?<CHECKOUTFUEL>.{1})\s*[\r|\n|\r\n]4\s*CHK\s*IN\s*LOC\s(?<CHECKINLOCATION>.{3})\s*DATE\s(?<CHECKINDATE>.{7})\s*TIME\s(?<CHECKINTIME>.{5})\s*MLS\/KM\s(?<CHECKINMILEAGE>.{8})\s*FUEL\s(?<CHECKINFUEL>.{1})\s*[\r|\n|\r\n]5\s*AGREED\sRETURN\s(?<AGREEDRETURNLOC>[A-Z0-9]{3})\s*DATE\s(?<AGREEDRETURNDATE>.{7})\s*TIME\s(?<AGREEDRETURNTIME>.{5})\s*MLS\/KM\sDRIVEN\s(?<MILEAGEDRIVEN>.{12})[\r|\n|\r\n]6\s*WIZARD\sNUM\s(?<WIZARDNUMBER>.{7})\sAWD\sNUM\s(?<AWDNUMBER>.{8})\s" Local $sString = " 0 1 2 3 4 5 6 7 " & @CRLF & _ " 01234567890123456789012345678901234567890123456789012345678901234567890123456789" & @CRLF & _ "0 CMD ADJUSTMENT MONETARY SCREEN IAJMON PAGE 1 OF 3 " & @CRLF & _ "1 SCREEN 10 ACTION DS RA NUM E839020313 OVRD INVOICE NUM " & @CRLF & _ "2 E839020313 DS RES NUM 42423337ZA5 A " & @CRLF & _ "3 CHK OUT LOC CPT DATE 02JUL16 TIME 10:38 MLS/KM 11110700 FUEL 8 " & @CRLF & _ "4 CHK IN LOC CPT DATE 05JUL16 TIME 15:36 MLS/KM 511 FUEL " & @CRLF & _ "5 AGREED RETURN CPT DATE 05JUL16 TIME 16:00 MLS/KM DRIVEN 404 " & @CRLF & _ "6 WIZARD NUM AWD NUM E0193000 METH OF PAY CLUB " & @CRLF & _ "7 CUSTOMER NAME SMITH,NEILMR FAX NUM CD N SP/IR N " & @CRLF & _ "8 RATE CODE YWI A HRLY 184.21 DALY 184.21 WKY 1172.81 MTH 0.00 " & @CRLF & _ "9 UPGRADE AMT RES QUOTED PRICE 643.33 RES/RENTAL T " & @CRLF & _ "10 DEFAULT RATE DESC " & @CRLF & _ "11 TRAVEL AGNY ACCT AV873132130055 VOUCHER NUM E42423337 ARC/IATA 0149575L " & @CRLF & _ "12 TRAVEL AGNY AMT 629.00 BILLING MONTH/YEAR RENT TYP RMOTE CI " & @CRLF & _ "13 COMMISSION AMT 177.41 COMMISSION SOURCE O EQUIP TYP CAR RNTL " & @CRLF & _ "14 AGENCY VAT TAX 0.00 TOUR VOUCHER BUY/SELL B CUST VOCH " & @CRLF & _ "15 COMMISSION QST BUY/SELL PURCHASE/SOLD " & @CRLF & _ "16 COMMISSION REV 806.41 RA SOLD COUNTRY INVOICE Y " & @CRLF & _ "17 COMMISS BASIS 3 TOUR VOUCHER SOLD COUNTRY GB DB/CR NOTE Y " & @CRLF & _ "18 ORI CHKOUT CURR 575.97 ORI CHKOUT CURR CODE SAR WRITE-OFF " & @CRLF & _ "19 ORI BILLING CURR ORI BILLING CURR CODE " & @CRLF & _ "20 EMPL ID PIN NUM DCC CURR DCC RATE " & @CRLF & _ "21 71 RA HAS NO PRIOR ADJUSTMENT 143 RA HAS 1 PAYMENT(S) " & @CRLF & _ "22 135 LICENSEE CHECKOUT/LICENSEE OWNER 235RA HAS BEEN MODIFIED AFTER CHECKOUT " & @CRLF & _ "23 " & @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