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

/
/
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 = "([A-Z][a-z]+(?=\\s[A-Z])(?:\\s[A-Z][a-z]+)+)"; final String string = "Malaysia’s central bank had to take action against a debt-ridden state investment company to protect the integrity of the financial system, according to governor Zeti Akhtar Aziz, who said an improvement in the country’s political situation would help the ringgit.\n\n" + "The attorney-general’s office earlier this month dismissed Bank Negara Malaysia's second request for criminal proceedings against 1Malaysia Development Bhd (1MDB) for breaching the Exchange Control Act.\n\n" + "Bank Negara has revoked three permissions given to 1MDB for investments abroad totalling $1.83 billion, and instructed it to repatriate the amount.\n\n" + "\"He has the right to make that assessment,\" Zeti said, referring to the attorney-general. \"But for the central bank, we believe it is very, very important to comply with our rules and regulations that we have in place. This is vital, it’s critical for the functioning of the financial system\" and its integrity, she said.\n\n" + "While growth could ease to as little as 4.8 percent this year and the risk of a slowdown because of the global economy is bigger than the threat of inflation, Malaysia has a “high degree of resilience”, Zeti, 68, said in an interview in Lima, Peru, on Sunday.\n\n" + "The central bank doesn’t see the risk of faster inflation after the first quarter of 2016 and interest rates at current levels are supportive of growth, Zeti said. Malaysia forecasts growth of 4.5 percent to 5.5 percent this year.\n\n" + "Confidence struggle\n\n" + "Malaysian policy makers have struggled to boost confidence in the economy and its finances since oil prices started slumping late last year and as allegations of financial irregularities at 1MDB hurt sentiments.\n\n" + "Tensions in the Southeast Asian nation have also increased as Prime Minister Najib Abdul Razak (photo) battled accusations of impropriety over political donations that ended up in his private accounts."; 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