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

/
/
gm

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 = "Anacode:\\s*(\\S+)\\s*Test Code:"; final String string = "18:45:05.[948142] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Take Mode Test Code: Result: A Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:05.[955123] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Blood Mode Test Code: Result: P Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:05.[960143] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Test Mode Test Code: Result: CHEM+SEDIM Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:05.[968089] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Ref Group Test Code: Result: Woman Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:05.[973076] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Age Test Code: Result: 16 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:05.[978063] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Project Type Test Code: Result: UR Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:05.[984046] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Shelf No Test Code: Result: 4 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:05.[989034] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Tube No Test Code: Result: 1 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:05.[995030] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Analyzer Test Code: Result: EU-5300 Pro-1 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[002010] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: SN Test Code: Result: QB3-46000165 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[008982] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: AuditResult Test Code: Result: Auto Validation OK Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[028941] >> Insert LN: 67528633 Barcode: 6752863305 Anacode: URO Test Code: URT010 Result: Normal Status: Result Flag: - complete!!! \n" + " \n" + "18:45:06.[049877] >> Insert LN: 67528633 Barcode: 6752863305 Anacode: BIL Test Code: URT018 Result: Neg Status: Result Flag: - complete!!! \n" + " \n" + "18:45:06.[070827] >> Insert LN: 67528633 Barcode: 6752863305 Anacode: KET Test Code: URT007 Result: Neg Status: Result Flag: - complete!!! \n" + " \n" + "18:45:06.[089765] >> Insert LN: 67528633 Barcode: 6752863305 Anacode: BLD Test Code: URT008 Result: Neg Status: Result Flag: - complete!!! \n" + " \n" + "18:45:06.[107730] >> Insert LN: 67528633 Barcode: 6752863305 Anacode: PRO Test Code: URT005 Result: Neg Status: Result Flag: - complete!!! \n" + " \n" + "18:45:06.[125669] >> Insert LN: 67528633 Barcode: 6752863305 Anacode: PH Test Code: UA001 Result: 6 Status: Result Flag: - complete!!! \n" + " \n" + "18:45:06.[139632] >> Insert LN: 67528633 Barcode: 6752863305 Anacode: SGP Test Code: UA002 Result: 1.022 Status: Result Flag: - complete!!! \n" + " \n" + "18:45:06.[155589] >> Insert LN: 67528633 Barcode: 6752863305 Anacode: NIT Test Code: URT042 Result: Neg Status: Result Flag: - complete!!! \n" + " \n" + "18:45:06.[171547] >> Insert LN: 67528633 Barcode: 6752863305 Anacode: LEU Test Code: URT043 Result: Neg Status: Result Flag: - complete!!! \n" + " \n" + "18:45:06.[191494] >> Insert LN: 67528633 Barcode: 6752863305 Anacode: GLU Test Code: URT006 Result: Neg Status: Result Flag: - complete!!! \n" + " \n" + "18:45:06.[198476] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: VITC Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[206454] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: CA Test Code: Result: 2.5 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[212438] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: CRE Test Code: Result: 17.7 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[217425] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: mALB Test Code: Result: 10 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[222411] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: COLOR Test Code: Result: Yellow Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[227398] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: TURB Test Code: Result: Clear Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[232385] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: AC Test Code: Result: 5.00 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[237372] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: PC Test Code: Result: 0.00 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[251335] >> Insert LN: 67528633 Barcode: 6752863305 Anacode: RBCU Test Code: URT055 Result: 0-1 Status: Result Flag: - complete!!! \n" + " \n" + "18:45:06.[266295] >> Insert LN: 67528633 Barcode: 6752863305 Anacode: WBCU Test Code: URT009 Result: 1-2 Status: Result Flag: - complete!!! \n" + " \n" + "18:45:06.[271281] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: WBCC Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[276268] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: BACT Test Code: Result: Few Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[281255] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: YST Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[287239] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: CRYS Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[293223] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: HYAC Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[299207] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: UNCC Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[303196] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: MUC Test Code: Result: Trace Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[308183] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: NORMOCYTE# Test Code: Result: 100 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[313170] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: ACARBC Test Code: Result: 0 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[318156] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: BACTC Test Code: Result: Few Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[323143] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: BACTR Test Code: Result: Few Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[328130] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: GHORBC Test Code: Result: 0 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[344087] >> Insert LN: 67528633 Barcode: 6752863305 Anacode: SEC Test Code: URT011 Result: 0-1 Status: Result Flag: - complete!!! \n" + " \n" + "18:45:06.[349074] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: NEC Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[354061] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: CAOXM Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[360045] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: CAOXD Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[366029] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: TRI Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[375005] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: URI Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[380989] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: SPRM Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[384978] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: MICRBC Test Code: Result: 0 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[389965] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: OABRBC Test Code: Result: 0 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[394952] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: OTHER Test Code: Result: 0-1 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[399938] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: POIKILOCYTE% Test Code: Result: 0 Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[406920] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Coarse granular Cast Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[411907] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Fine granular Cast Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[416893] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Waxy Cast Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[421880] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Bladder epithelial cell Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[426867] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Renal epithelial cell Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[431853] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Caudate epithelial cell Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n" + " \n" + "18:45:06.[436841] >> Can't insert LN: 67528633 Barcode: 6752863305 Anacode: Amorphous Test Code: Result: - Status: Result Flag: - Cause: testcode is empty. \n"; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); 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