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

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = "\\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"; final String string = " 0 1 2 3 4 5 6 7 \n" + " 01234567890123456789012345678901234567890123456789012345678901234567890123456789\n" + "0 CMD ADJUSTMENT MONETARY SCREEN IAJMON PAGE 1 OF 3 \n" + "1 SCREEN 10 ACTION DS RA NUM E839020313 OVRD INVOICE NUM \n" + "2 E839020313 DS RES NUM 42423337ZA5 A \n" + "3 CHK OUT LOC CPT DATE 02JUL16 TIME 10:38 MLS/KM 11110700 FUEL 8 \n" + "4 CHK IN LOC CPT DATE 05JUL16 TIME 15:36 MLS/KM 511 FUEL \n" + "5 AGREED RETURN CPT DATE 05JUL16 TIME 16:00 MLS/KM DRIVEN 404 \n" + "6 WIZARD NUM AWD NUM E0193000 METH OF PAY CLUB \n" + "7 CUSTOMER NAME SMITH,NEILMR FAX NUM CD N SP/IR N \n" + "8 RATE CODE YWI A HRLY 184.21 DALY 184.21 WKY 1172.81 MTH 0.00 \n" + "9 UPGRADE AMT RES QUOTED PRICE 643.33 RES/RENTAL T \n" + "10 DEFAULT RATE DESC \n" + "11 TRAVEL AGNY ACCT AV873132130055 VOUCHER NUM E42423337 ARC/IATA 0149575L \n" + "12 TRAVEL AGNY AMT 629.00 BILLING MONTH/YEAR RENT TYP RMOTE CI \n" + "13 COMMISSION AMT 177.41 COMMISSION SOURCE O EQUIP TYP CAR RNTL \n" + "14 AGENCY VAT TAX 0.00 TOUR VOUCHER BUY/SELL B CUST VOCH \n" + "15 COMMISSION QST BUY/SELL PURCHASE/SOLD \n" + "16 COMMISSION REV 806.41 RA SOLD COUNTRY INVOICE Y \n" + "17 COMMISS BASIS 3 TOUR VOUCHER SOLD COUNTRY GB DB/CR NOTE Y \n" + "18 ORI CHKOUT CURR 575.97 ORI CHKOUT CURR CODE SAR WRITE-OFF \n" + "19 ORI BILLING CURR ORI BILLING CURR CODE \n" + "20 EMPL ID PIN NUM DCC CURR DCC RATE \n" + "21 71 RA HAS NO PRIOR ADJUSTMENT 143 RA HAS 1 PAYMENT(S) \n" + "22 135 LICENSEE CHECKOUT/LICENSEE OWNER 235RA HAS BEEN MODIFIED AFTER CHECKOUT \n" + "23 \n"; final Pattern pattern = Pattern.compile(regex); final Matcher matcher = pattern.matcher(string); while (matcher.find()) { System.out.println("Full match: " + matcher.group(0)); for (int i = 1; i <= matcher.groupCount(); i++) { System.out.println("Group " + i + ": " + matcher.group(i)); } } } }

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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html