Java Pattern

Java Pattern java.util.regex

Regular Expression

Pattern Pattern


  • \d [0-9]
  • \w [a-zA-Z0-9_]
  • a+ a
  • ^
  • $

Pattern

Pattern

Pattern compile()

import java.util.regex.Pattern;

//
Pattern pattern = Pattern.compile("a*b");

matcher(CharSequence input)

Matcher

Matcher matcher = pattern.matcher("aaaab");

matches(String regex, CharSequence input)

boolean isMatch = Pattern.matches("a*b", "aaaab"); // true

split(CharSequence input)

String[] parts = pattern.split("aaaabtest"); // ["", "test"]

Flags

Pattern.CASE_INSENSITIVE
Pattern.MULTILINE ^ $
Pattern.DOTALL .
Pattern.UNICODE_CASE Unicode

//
Pattern pattern = Pattern.compile("a*b", Pattern.CASE_INSENSITIVE);

Pattern

String emailRegex = "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$";
Pattern emailPattern = Pattern.compile(emailRegex);

String email = "[email protected]";
boolean isValid = emailPattern.matcher(email).matches();

String text = "Price: $123.45";
Pattern numberPattern = Pattern.compile("\\d+\\.?\\d*");
Matcher matcher = numberPattern.matcher(text);

if (matcher.find()) {
    String number = matcher.group(); // "123.45"
}

String input = "Hello, my phone is 123-456-7890";
Pattern phonePattern = Pattern.compile("\\d{3}-\\d{3}-\\d{4}");
String output = phonePattern.matcher(input).replaceAll("[PHONE]");
// : "Hello, my phone is [PHONE]"

  1. Pattern

  2. ""

  3. (?:...) (...)


Pattern Java Pattern Matcher Pattern

Pattern

static Pattern compile(String regex) Pattern
static Pattern compile(String regex, int flags)
static boolean matches(String regex, CharSequence input) +
static String quote(String s)

Pattern.CASE_INSENSITIVE
Pattern.MULTILINE ^$
Pattern.DOTALL (.)
Pattern.UNICODE_CASE Unicode

Matcher matcher(CharSequence input)
String[] split(CharSequence input)
String[] split(CharSequence input, int limit)
Stream<String> splitAsStream(CharSequence input) (Java 8+)

String pattern()
int flags()
String toString()