String matches() method - Syntax and Examples
Learn about the Java String matches() method, its syntax, parameters, return value, and how to use it with regular expressions. Includes clear examples.
This reference explains String matches() method - Syntax and Examples through its syntax, examples and boundaries. Use the linked course lessons when the surrounding Java concepts are unfamiliar.
Use this reference
Identify the documented behavior, read a complete example and check its inputs before applying it.
String matches() method - Syntax and Examples
Introduction
The matches() method in Java is a powerful tool for validating strings against regular expressions. It checks if the entire input string conforms to the pattern defined by the regex.
Syntax
public boolean matches(String regex)
Parameters
| Parameter | Description |
|---|---|
regex |
The regular expression to which the string is matched. |
Return Value
This method returns true if the entire sequence of characters in the input string matches the given regular expression; otherwise, it returns false.
Examples
Example 1: Basic Pattern Matching
Let's start with a simple example. This example demonstrates how to check if a string consists only of digits using the regex "\d+".
public class MatchesExample1 {
public static void main(String[] args) {
String str1 = "12345";
String str2 = "abc123";
System.out.println("" + str1 + " matches: " + str1.matches("\d+")); // Matches only digits
System.out.println("" + str2 + " matches: " + str2.matches("\d+"));
}
}
12345 matches: true
abc123 matches: false
In this example, str1 contains only digits, so it successfully matches the regex. str2 contains both letters and numbers, failing the match.
Example 2: Matching a Specific Format (Email)
This example shows how to validate an email address using a simplified regular expression for emails.
public class MatchesExample2 {
public static void main(String[] args) {
String email1 = "test@example.com";
String email2 = "invalid-email";
System.out.println("" + email1 + " matches: " + email1.matches("[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"));
System.out.println("" + email2 + " matches: " + email2.matches("[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"));
}
}
test@example.com matches: true
invalid-email matches: false
The regex [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} is a simplified pattern for emails. It's important to note that a truly robust email validation requires a much more complex regular expression, as the rules are quite intricate.
Example 3: Using Character Classes
This example uses character classes to match strings containing only lowercase letters.
public class MatchesExample3 {
public static void main(String[] args) {
String str1 = "lowercase";
String str2 = "MixedCase";
System.out.println("" + str1 + " matches: " + str1.matches("[a-z]++"));
System.out.println("" + str2 + " matches: " + str2.matches("[a-z]++"));
}
}
lowercase matches: true
MixedCase matches: false
The regex [a-z]+ specifies that the string must contain only lowercase letters. Therefore, "lowercase" matches, while "MixedCase" does not.
Example 4: Matching with Quantifiers
This example uses quantifiers to match strings that start with one or more digits followed by some characters.
public class MatchesExample4 {
public static void main(String[] args) {
String str1 = "123abc";
String str2 = "abc";
System.out.println("" + str1 + " matches: " + str1.matches("\d+.*+"));
System.out.println("" + str2 + " matches: " + str2.matches("\d+.*+"));
}
}
123abc matches: true
abc matches: false
The regex \d+.∗+ requires at least one digit (\d+) followed by any characters (.∗+). Thus, “123abc” successfully matches because it starts with digits.
Using this reference
Check the example’s types, inputs and documented behavior before copying it into an application. Some APIs require external libraries, files or platform services; consult their setup notes.
Related explanations: Java Data Types - Primitive and Non-Primitive, Java Class - Blueprint of Objects, Exceptions in Java Introduction.
Supporting documentation: Official Java learning guide.
Reference checks are optional and do not count toward course progress.