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
No Match

r"
"
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 = "(?:(?<=^)|(?<=\\D))((00|\\+)?55(\\s|\\.|-)*)?((\\()?0?\\d{2}(?(5)\\)|)(\\s|\\.|-)*)?(9(\\s|\\.|-)*)?\\d{4}(\\s|\\.|-)*\\d{4}(?=\\D|$)"; final String string = "98993132\n" + "9899-3132\n" + "9899.3132\n" + "9899 3132\n" + "7198993132\n" + "719899-3132\n" + "719899.3132\n" + "719899 3132\n" + "71 98993132\n" + "71 9899-3132\n" + "71 9899.3132\n" + "71 9899 3132\n" + "071 98993132\n" + "071 9899-3132\n" + "071 9899.3132\n" + "071 9899 3132\n" + "(71)98993132\n" + "(71)9899-3132\n" + "(71)9899.3132\n" + "(71)9899 3132\n" + "(71) 98993132\n" + "(71) 9899-3132\n" + "(71) 9899.3132\n" + "(071) 9899 3132\n" + "(071) 98993132\n" + "(071) 9899-3132\n" + "(071) 9899.3132\n" + "(071) 9899 3132\n" + "557198993132\n" + "55719899-3132\n" + "55719899.3132\n" + "55719899 3132\n" + "5571 98993132\n" + "5571 9899-3132\n" + "5571 9899.3132\n" + "5571 9899 3132\n" + "55071 98993132\n" + "55071 9899-3132\n" + "55071 9899.3132\n" + "55071 9899 3132\n" + "55(71)98993132\n" + "55(71)9899-3132\n" + "55(71)9899.3132\n" + "55(71)9899 3132\n" + "55(71) 98993132\n" + "55(71) 9899-3132\n" + "55(71) 9899.3132\n" + "55(071) 9899 3132\n" + "55(071) 98993132\n" + "55(071) 9899-3132\n" + "55(071) 9899.3132\n" + "55(071) 9899 3132\n" + "55 7198993132\n" + "55 719899-3132\n" + "55 719899.3132\n" + "55 719899 3132\n" + "55 71 98993132\n" + "55 71 9899-3132\n" + "55 71 9899.3132\n" + "55 71 9899 3132\n" + "55 071 98993132\n" + "55 071 9899-3132\n" + "55 071 9899.3132\n" + "55 071 9899 3132\n" + "55 (71)98993132\n" + "55 (71)9899-3132\n" + "55 (71)9899.3132\n" + "55 (71)9899 3132\n" + "55 (71) 98993132\n" + "55 (71) 9899-3132\n" + "55 (71) 9899.3132\n" + "55 (071) 9899 3132\n" + "55 (071) 98993132\n" + "55 (071) 9899-3132\n" + "55 (071) 9899.3132\n" + "55 (071) 9899 3132\n" + "+557198993132\n" + "+55719899-3132\n" + "+55719899.3132\n" + "+55719899 3132\n" + "+5571 98993132\n" + "+5571 9899-3132\n" + "+5571 9899.3132\n" + "+5571 9899 3132\n" + "+55071 98993132\n" + "+55071 9899-3132\n" + "+55071 9899.3132\n" + "+55071 9899 3132\n" + "+55(71)98993132\n" + "+55(71)9899-3132\n" + "+55(71)9899.3132\n" + "+55(71)9899 3132\n" + "+55(71) 98993132\n" + "+55(71) 9899-3132\n" + "+55(71) 9899.3132\n" + "+55(071) 9899 3132\n" + "+55(071) 98993132\n" + "+55(071) 9899-3132\n" + "+55(071) 9899.3132\n" + "+55(071) 9899 3132\n" + "+55 7198993132\n" + "+55 719899-3132\n" + "+55 719899.3132\n" + "+55 719899 3132\n" + "+55 71 98993132\n" + "+55 71 9899-3132\n" + "+55 71 9899.3132\n" + "+55 71 9899 3132\n" + "+55 071 98993132\n" + "+55 071 9899-3132\n" + "+55 071 9899.3132\n" + "+55 071 9899 3132\n" + "+55 (71)98993132\n" + "+55 (71)9899-3132\n" + "+55 (71)9899.3132\n" + "+55 (71)9899 3132\n" + "+55 (71) 98993132\n" + "+55 (71) 9899-3132\n" + "+55 (71) 9899.3132\n" + "+55 (071) 9899 3132\n" + "+55 (071) 98993132\n" + "+55 (071) 9899-3132\n" + "+55 (071) 9899.3132\n" + "+55 (071) 9899 3132\n" + "998993132\n" + "99899-3132\n" + "99899.3132\n" + "99899 3132\n" + "71998993132\n" + "7199899-3132\n" + "7199899.3132\n" + "7199899 3132\n" + "71 998993132\n" + "71 99899-3132\n" + "71 99899.3132\n" + "71 99899 3132\n" + "071 998993132\n" + "071 99899-3132\n" + "071 99899.3132\n" + "071 99899 3132\n" + "(71)998993132\n" + "(71)99899-3132\n" + "(71)99899.3132\n" + "(71)99899 3132\n" + "(71) 998993132\n" + "(71) 99899-3132\n" + "(71) 99899.3132\n" + "(071) 99899 3132\n" + "(071) 998993132\n" + "(071) 99899-3132\n" + "(071) 99899.3132\n" + "(071) 99899 3132\n" + "5571998993132\n" + "557199899-3132\n" + "557199899.3132\n" + "557199899 3132\n" + "5571 998993132\n" + "5571 99899-3132\n" + "5571 99899.3132\n" + "5571 99899 3132\n" + "55071 998993132\n" + "55071 99899-3132\n" + "55071 99899.3132\n" + "55071 99899 3132\n" + "55(71)998993132\n" + "55(71)99899-3132\n" + "55(71)99899.3132\n" + "55(71)99899 3132\n" + "55(71) 998993132\n" + "55(71) 99899-3132\n" + "55(71) 99899.3132\n" + "55(071) 99899 3132\n" + "55(071) 998993132\n" + "55(071) 99899-3132\n" + "55(071) 99899.3132\n" + "55(071) 99899 3132\n" + "55 71998993132\n" + "55 7199899-3132\n" + "55 7199899.3132\n" + "55 7199899 3132\n" + "55 71 998993132\n" + "55 71 99899-3132\n" + "55 71 99899.3132\n" + "55 71 99899 3132\n" + "55 071 998993132\n" + "55 071 99899-3132\n" + "55 071 99899.3132\n" + "55 071 99899 3132\n" + "55 (71)998993132\n" + "55 (71)99899-3132\n" + "55 (71)99899.3132\n" + "55 (71)99899 3132\n" + "55 (71) 998993132\n" + "55 (71) 99899-3132\n" + "55 (71) 99899.3132\n" + "55 (071) 99899 3132\n" + "55 (071) 998993132\n" + "55 (071) 99899-3132\n" + "55 (071) 99899.3132\n" + "55 (071) 99899 3132\n" + "+5571998993132\n" + "+557199899-3132\n" + "+557199899.3132\n" + "+557199899 3132\n" + "+5571 998993132\n" + "+5571 99899-3132\n" + "+5571 99899.3132\n" + "+5571 99899 3132\n" + "+55071 998993132\n" + "+55071 99899-3132\n" + "+55071 99899.3132\n" + "+55071 99899 3132\n" + "+55(71)998993132\n" + "+55(71)99899-3132\n" + "+55(71)99899.3132\n" + "+55(71)99899 3132\n" + "+55(71) 998993132\n" + "+55(71) 99899-3132\n" + "+55(71) 99899.3132\n" + "+55(071) 99899 3132\n" + "+55(071) 998993132\n" + "+55(071) 99899-3132\n" + "+55(071) 99899.3132\n" + "+55(071) 99899 3132\n" + "+55 71998993132\n" + "+55 7199899-3132\n" + "+55 7199899.3132\n" + "+55 7199899 3132\n" + "+55 71 998993132\n" + "+55 71 99899-3132\n" + "+55 71 99899.3132\n" + "+55 71 99899 3132\n" + "+55 071 998993132\n" + "+55 071 99899-3132\n" + "+55 071 99899.3132\n" + "+55 071 99899 3132\n" + "+55 (71)998993132\n" + "+55 (71)99899-3132\n" + "+55 (71)99899.3132\n" + "+55 (71)99899 3132\n" + "+55 (71) 998993132\n" + "+55 (71) 99899-3132\n" + "+55 (71) 99899.3132\n" + "+55 (071) 99899 3132\n" + "+55 (071) 998993132\n" + "+55 (071) 99899-3132\n" + "+55 (071) 99899.3132\n" + "+55 (071) 99899 3132\n" + "9 98993132\n" + "9 9899-3132\n" + "9 9899.3132\n" + "9 9899 3132\n" + "719 98993132\n" + "719 9899-3132\n" + "719 9899.3132\n" + "719 9899 3132\n" + "71 9 98993132\n" + "71 9 9899-3132\n" + "71 9 9899.3132\n" + "71 9 9899 3132\n" + "071 9 98993132\n" + "071 9 9899-3132\n" + "071 9 9899.3132\n" + "071 9 9899 3132\n" + "(71)9 98993132\n" + "(71)9 9899-3132\n" + "(71)9 9899.3132\n" + "(71)9 9899 3132\n" + "(71) 9 98993132\n" + "(71) 9 9899-3132\n" + "(71) 9 9899.3132\n" + "(071) 9 9899 3132\n" + "(071) 9 98993132\n" + "(071) 9 9899-3132\n" + "(071) 9 9899.3132\n" + "(071) 9 9899 3132\n" + "55719 98993132\n" + "55719 9899-3132\n" + "55719 9899.3132\n" + "55719 9899 3132\n" + "5571 9 98993132\n" + "5571 9 9899-3132\n" + "5571 9 9899.3132\n" + "5571 9 9899 3132\n" + "55071 9 98993132\n" + "55071 9 9899-3132\n" + "55071 9 9899.3132\n" + "55071 9 9899 3132\n" + "55(71)9 98993132\n" + "55(71)9 9899-3132\n" + "55(71)9 9899.3132\n" + "55(71)9 9899 3132\n" + "55(71) 9 98993132\n" + "55(71) 9 9899-3132\n" + "55(71) 9 9899.3132\n" + "55(071) 9 9899 3132\n" + "55(071) 9 98993132\n" + "55(071) 9 9899-3132\n" + "55(071) 9 9899.3132\n" + "55(071) 9 9899 3132\n" + "55 719 98993132\n" + "55 719 9899-3132\n" + "55 719 9899.3132\n" + "55 719 9899 3132\n" + "55 71 9 98993132\n" + "55 71 9 9899-3132\n" + "55 71 9 9899.3132\n" + "55 71 9 9899 3132\n" + "55 071 9 98993132\n" + "55 071 9 9899-3132\n" + "55 071 9 9899.3132\n" + "55 071 9 9899 3132\n" + "55 (71)9 98993132\n" + "55 (71)9 9899-3132\n" + "55 (71)9 9899.3132\n" + "55 (71)9 9899 3132\n" + "55 (71) 9 98993132\n" + "55 (71) 9 9899-3132\n" + "55 (71) 9 9899.3132\n" + "55 (071) 9 9899 3132\n" + "55 (071) 9 98993132\n" + "55 (071) 9 9899-3132\n" + "55 (071) 9 9899.3132\n" + "55 (071) 9 9899 3132\n" + "+55719 98993132\n" + "+55719 9899-3132\n" + "+55719 9899.3132\n" + "+55719 9899 3132\n" + "+5571 9 98993132\n" + "+5571 9 9899-3132\n" + "+5571 9 9899.3132\n" + "+5571 9 9899 3132\n" + "+55071 9 98993132\n" + "+55071 9 9899-3132\n" + "+55071 9 9899.3132\n" + "+55071 9 9899 3132\n" + "+55(71)9 98993132\n" + "+55(71)9 9899-3132\n" + "+55(71)9 9899.3132\n" + "+55(71)9 9899 3132\n" + "+55(71) 9 98993132\n" + "+55(71) 9 9899-3132\n" + "+55(71) 9 9899.3132\n" + "+55(071) 9 9899 3132\n" + "+55(071) 9 98993132\n" + "+55(071) 9 9899-3132\n" + "+55(071) 9 9899.3132\n" + "+55(071) 9 9899 3132\n" + "+55 719 98993132\n" + "+55 719 9899-3132\n" + "+55 719 9899.3132\n" + "+55 719 9899 3132\n" + "+55 71 9 98993132\n" + "+55 71 9 9899-3132\n" + "+55 71 9 9899.3132\n" + "+55 71 9 9899 3132\n" + "+55 071 9 98993132\n" + "+55 071 9 9899-3132\n" + "+55 071 9 9899.3132\n" + "+55 071 9 9899 3132\n" + "+55 (71)9 98993132\n" + "+55 (71)9 9899-3132\n" + "+55 (71)9 9899.3132\n" + "+55 (71)9 9899 3132\n" + "+55 (71) 9 98993132\n" + "+55 (71) 9 9899-3132\n" + "+55 (71) 9 9899.3132\n" + "+55 (071) 9 9899 3132\n" + "+55 (071) 9 98993132\n" + "+55 (071) 9 9899-3132\n" + "+55 (071) 9 9899.3132\n" + "+55 (071) 9 9899 3132\n\n" + "====== partial matches =======\n" + "55(71 9 7676-3131\n" + "55 (71 7676-3131\n" + "porque76763131sera\n\n" + "======== no matches ==========\n" + "41650-010\n" + "123.456.789-00\n" + "123456789-00"; 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