We can specify the number of times a character in a regular expression may match the sequence of characters.
To express a pattern "one digit or more" using a regular expression, we can use the quantifiers.
Quantifiers and their meanings are listed in the following Table.
| Quantifiers | Meaning |
|---|---|
| * | Zero or more times |
| + | One or more times |
| ? | Once or not at all |
| {m} | Exactly m times |
| {m,} | At least m times |
| {m, n} | At least m, but not more than n times |
The quantifiers must follow a character or character class.
import java.util.regex.Matcher; import java.util.regex.Pattern; //from w ww . java 2s .co m public class Main { public static void main(String[] args) { // A group of 3 digits followed by 7 digits. String regex = "\\b(\\d{3})\\d{7}\\b"; // Compile the regular expression Pattern p = Pattern.compile(regex); String source = "12345678, 12345, and 9876543210"; // Get the Matcher object Matcher m = p.matcher(source); // Start matching and display the found area codes while (m.find()) { String phone = m.group(); String areaCode = m.group(1); System.out.println("Phone: " + phone + ", Area Code: " + areaCode); } } }
The code above generates the following result.
* matches zero or more d.
import java.util.regex.Pattern; // w ww . j a v a 2 s . c om public class Main { public static void main(String args[]) { String regex = "ad*"; String input = "add"; boolean isMatch = Pattern.matches(regex, input); System.out.println(isMatch); } }
The code above generates the following result.