Java provides the java.util.regex package for pattern matching with regular expressions.
Example of testing a password string that contains must one lowercase,uppercase,number and spacial character and minimum 6 and maximum 15 characters.
regular expressions can be used to search, edit, or manipulate text and data.
java.util.regex consist of following classes :
- Pattern
- Matcher
- PatternSyntaxException
- Pattern : It is used to define pattern or input we need from user.pattern class is not provide any constructor to create its object so we have to write its static compile() method.
- Matcher : A Matcher object is the engine that interprets the pattern and performs match operations against an input string. Like the Pattern class, Matcher defines no public constructors. You obtain a Matcher object by invoking the matcher() method on a Pattern object.
- PatternSyntaxException : A PatternSyntaxException object is an unchecked exception that indicates a syntax error in a regular expression pattern.
Some Sub-expressions are given below :
Sub-Expressions | Description |
---|---|
^ | Matches beginning of line. |
$ | Matches end of line. |
. | Matches any single character except newline. Using m option allows it to match newline as well. |
\w | Matches word characters. |
\W | Matches nonword characters. |
\s | Matches whitespace. |
\S | Matches nonwhitespace. |
\d | Matches digits. |
\D | Matches nondigits. |
{n} | Matches exactly n number of occurrences |
Example of testing a password string that contains must one lowercase,uppercase,number and spacial character and minimum 6 and maximum 15 characters.
// regex Password validation
import java.util.regex.*;
class reg{
public static void main(String... str) throws Exception{
Pattern p=Pattern.compile("(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+-]).{6,15}");
Matcher m=p.matcher("1$6855146146Bbb");
System.out.println(m.matches());
}
}