In Java, Regular Expressions or Regex is an API for defining string patterns that can be used for searching, manipulating, and editing a string. A regular expression is a sequence of characters that forms a search pattern, and it can be a single character or a more complicated pattern. Java does not have a built-in Regular Expression class, but we can import the java.util.regex package to work with regular expressions. The package includes the following classes:
- Pattern Class: Defines a pattern (to be used in a search)
- Matcher Class: Used to search for the pattern
- PatternSyntaxException Class: Indicates syntax error in a regular expression pattern
The java.util.regex package provides the facility of Java regular expression. The Matcher and Pattern classes are used to perform match operations on a character sequence.
Here is an example of how to use the Pattern and Matcher classes to find out if there are any occurrences of the word "w3schools" in a sentence:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
Pattern pattern = Pattern.compile("w3schools", Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher("Visit W3Schools!");
boolean matchFound = matcher.find();
if(matchFound) {
System.out.println("Match found");
} else {
System.out.println("Match not found");
}
}
}
In this example, the word "w3schools" is being searched for in a sentence. First, the pattern is created using the Pattern.compile() method. The first parameter indicates which pattern is being searched for, and the second parameter specifies that the search should be case-insensitive. Then, the Matcher object is created using the pattern.matcher() method, and the find() method is called to perform the search. If a match is found, the program outputs "Match found"; otherwise, it outputs "Match not found".