Regular Expressions 101

Save & Share

  • Regex Version: ver. 60
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

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

/
/
g

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 = "(?P<datetime>\\d{2}\\/\\d{2}\\/\\d{4},\\s\\d(?:\\d)?:\\d{2} [pa].m.)\\s-\\s(?P<name>[^:]*):(?P<message>.*)"; final String string = "15/11/2017, 10:59 p.m. - β€ͺSome random name‬: Thats sounds like crow who don't know marathi🀣\n" + "15/11/2017, 11:00 p.m. - Pratik: πŸ˜‚πŸ˜‚\n" + "15/11/2017, 11:00 p.m. - Dhiraj Kadam: Msging language bruhπŸ˜‚πŸ˜‚πŸ˜‚\n" + "15/11/2017, 11:00 p.m. - Rushiraj Msc: πŸ˜‚πŸ˜‚πŸ˜‚πŸ˜‚\n" + "15/11/2017, 11:00 p.m. - Shreyas : πŸ’©πŸ’©πŸ’©\n" + "15/11/2017, 11:01 p.m. - Abhisek Joshi: πŸ˜‚πŸ˜‚\n" + "15/11/2017, 11:01 p.m. - β€ͺSome Name: Age piche ke students 2 ... 2 subject padho and copy.. nahi ata to thoko bhindhass\n" + "15/11/2017, 11:01 p.m. - Shreyas : πŸ™ŒπŸΌπŸ™ŒπŸΌπŸ™ŒπŸΌπŸ™ŒπŸΌπŸ’―\n" + "15/11/2017, 11:02 p.m. - β€ͺSome name: Respect the term autonomous\n" + "15/11/2017, 11:02 p.m. - β€ͺSome Name : Gharguti ...πŸ˜…\n" + "14/11/2017, 9:54 a.m. - Abhisek Josh: πŸ˜‚πŸ˜‚πŸ˜‚\n" + "14/11/2017, 10:37 a.m. - β€ͺSOme Name: Do you still remember those awkward days in schools during Exams ?\n\n" + "When a bright student tells the invigilator that question 4 has a problem, but you have already answered it...😳😜\n\n" + "When a fellow student asks for a graph paper, but you are finished and did not see anywhere where it was required...😧 😁😁\n\n" + "When the invigilator says jump question 6 we will rectify it later, but it was the question you enjoyed most when answering...😟 😱😲\n\n" + "When you see people busy using rulers and you are wondering what is going on...😣😫😫\n\n" + "When you hear your friends arguing after the exam whether the answer to question 5 was 35.5% or 36.5% and your answer was 1800 😩😏\n\n" + "The cream. When the other students asked for 4-5 additional answer sheets and You had two pages empty in the main answer sheet😨😰😱\n\n" + "See where you have reached in life inspite of those moments...things are not permanent...enjoy life! πŸ˜ƒπŸ˜ƒ\n\n" + "Only for those who enjoyed their school lifeπŸ˜‚πŸ˜‚πŸ˜‚\n\n" + "Top 10 Dialogue of teacher\n" + "πŸ‘‰ If you are not interested then you may leave the class.\n" + "πŸ‘‰ This class is worse than a fish market.\n" + "πŸ‘‰ Are you here to waste your parents money? \n" + "πŸ‘‰ Tell me when you all have finished talking.\n" + "πŸ‘‰ Why are u laughing? Come here n tell us we'll also laugh. \n" + "πŸ‘‰ Do you think teachers are fools to teach you?\n" + "πŸ‘‰ Don't try to act oversmart with me.\n" + "πŸ‘‰ Why do u come to school when you don't want to study.\n" + "πŸ‘‰ The previous batch was 100 times better than yours.\n" + "πŸ‘‰ If you want to talk then u may get out from the class.\n\n" + "And the best one\n" + "πŸ‘‰ You yes you... I am talking to you only, don't look back.. πŸ˜„πŸ˜„\n" + ".\n" + ".\n" + ".\n" + "I'm sure that the last line made all of you remember and smile .\n" + "14/11/2017, 10:42 a.m. - β€ͺName‬: πŸ‘πŸ‘πŸ‘\n" + "14/11/2017, 11:15 a.m. - Sanesh Sagvekar: Whos in clg now\n" + "14/11/2017, 11:15 a.m. - Sanesh Sagvekar: πŸ˜„πŸ˜„πŸ˜„πŸ‘ŒπŸΌπŸ‘ŒπŸΌπŸ‘ŒπŸΌ"; 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