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 = "First Name[\\s\\S](?<firstname>.*)[\\s\\S]Last Name[\\s\\S](?<lastname>.*)[\\s\\S]Phone[\\s\\S](?<phone>.*)[\\s\\S]E-Mail[\\s\\S](?<email>.*)[\\s\\S]*age group\\?[\\s\\S](?<agegroup>.*)[\\s\\S]*seeing things up close[\\s\\S](?<farsightedness>.*)[\\s\\S]*cannot see very well[\\s\\S](?<astigmatism>.*)[\\s\\S]*-Glasses[\\s\\S](?<glasses>.*)[\\s\\S]*-Contacts[\\s\\S](?<contacts>.*)[\\s\\S]*-Reading Glasses[\\s\\S](?<readingglasses>.*)[\\s\\S]*following\\?-(?<following>.*)[\\s\\S]*distance without relying on glasses and contact lenses.[\\s\\S](?<distance>.*)[\\s\\S]*close without relying on glasses and contact lenses.[\\s\\S](?<close>.*)[\\s\\S]*contacts\\?[\\s\\S](?<wouldyourcareerimprove>.*)[\\s\\S]*Test Score[\\s\\S](?<testscore>.*)[\\s\\S]*Entry ID: (?<entryid>.*)[\\s\\S].*Referrer: (?<referrer>.*)[\\s\\S]*Host: (?<formhost>.*)"; final String string = "First Name Melissa\n" + "Last Name Madrid\n" + "Phone 4253068210\n" + "E-Mail Meli.madrid@yahoo.com\n" + "What is your age group? 19-39\n" + "Without my glasses and contacts-Farsightedness : I have trouble reading and seeing things up close yes\n" + "Without my glasses and contacts-Astigmatism : I have distorted vision and cannot see very well yes\n" + "What do you usually wear?-Glasses yes\n" + "What do you usually wear?-Contacts yes\n" + "What do you usually wear?-Reading Glasses yes\n" + "Do you have any of the following?-None of the above yes\n" + "I would like to see well at a distance without relying on glasses and contact lenses. 5\n" + "I would like to see well up close without relying on glasses and contact lenses. 5\n" + "Would your career or business activities improve if you were to become less dependent on glasses and contacts? Yes\n" + "Test Score -4.00\n\n" + "The message has been sent from 107.77.205.32 (United States) at 2020-01-10 10:39:44 on iPhone unknown\n" + "Entry ID: 2190\n" + "Referrer: http://m.facebook.com\n" + "Form Host: https://www.nweyes.com/landing/smile/"; 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