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
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
Processing...

Test String

Code Generator

Generated Code

$re = '/\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/'; $str = ' 0 1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 0 CMD ADJUSTMENT MONETARY SCREEN IAJMON PAGE 1 OF 3 1 SCREEN 10 ACTION DS RA NUM E839020313 OVRD INVOICE NUM 2 E839020313 DS RES NUM 42423337ZA5 A 3 CHK OUT LOC CPT DATE 02JUL16 TIME 10:38 MLS/KM 11110700 FUEL 8 4 CHK IN LOC CPT DATE 05JUL16 TIME 15:36 MLS/KM 511 FUEL 5 AGREED RETURN CPT DATE 05JUL16 TIME 16:00 MLS/KM DRIVEN 404 6 WIZARD NUM AWD NUM E0193000 METH OF PAY CLUB 7 CUSTOMER NAME SMITH,NEILMR FAX NUM CD N SP/IR N 8 RATE CODE YWI A HRLY 184.21 DALY 184.21 WKY 1172.81 MTH 0.00 9 UPGRADE AMT RES QUOTED PRICE 643.33 RES/RENTAL T 10 DEFAULT RATE DESC 11 TRAVEL AGNY ACCT AV873132130055 VOUCHER NUM E42423337 ARC/IATA 0149575L 12 TRAVEL AGNY AMT 629.00 BILLING MONTH/YEAR RENT TYP RMOTE CI 13 COMMISSION AMT 177.41 COMMISSION SOURCE O EQUIP TYP CAR RNTL 14 AGENCY VAT TAX 0.00 TOUR VOUCHER BUY/SELL B CUST VOCH 15 COMMISSION QST BUY/SELL PURCHASE/SOLD 16 COMMISSION REV 806.41 RA SOLD COUNTRY INVOICE Y 17 COMMISS BASIS 3 TOUR VOUCHER SOLD COUNTRY GB DB/CR NOTE Y 18 ORI CHKOUT CURR 575.97 ORI CHKOUT CURR CODE SAR WRITE-OFF 19 ORI BILLING CURR ORI BILLING CURR CODE 20 EMPL ID PIN NUM DCC CURR DCC RATE 21 71 RA HAS NO PRIOR ADJUSTMENT 143 RA HAS 1 PAYMENT(S) 22 135 LICENSEE CHECKOUT/LICENSEE OWNER 235RA HAS BEEN MODIFIED AFTER CHECKOUT 23 '; preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); // Print the entire match result var_dump($matches);

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 PHP, please visit: http://php.net/manual/en/ref.pcre.php