Phần biểu thức/metaký tự “re{n,m}” khớp ít nhất n và nhiều nhất m lần xuất hiện của biểu thức đi trước.
Ví dụ 1
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String args[]) {
String regex = "xyy{2,4}";
String input = "xxyyzxxyyyyxyyzxxyyzz";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(input);
int count = 0;
while (m.find()) {
count++;
}
System.out.println("Số lần khớp: " + count);
}
}
Kết quả
Số lần khớp: 1
Ví dụ 2
Chương trình Java sau đọc giá trị tên từ người dùng và chỉ cho phép 1 đến 20 ký tự.
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String args[]) {
// Biểu thức chính quy khớp ký tự ít nhất 1 tối đa 20
String regex = "[a-zA-Z]{1,20}";
Scanner sc = new Scanner(System.in);
System.out.println("Nhập tên học sinh:");
String name = sc.nextLine();
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(name);
if (m.matches()) {
System.out.println("Tên phù hợp");
} else {
System.out.println("Tên không phù hợp");
}
}
}
Kết quả 1
Nhập tên học sinh: Mouktika Tên phù hợp
Kết quả 2
Nhập tên học sinh: ka 34 Tên không phù hợp
Kết quả 3
Nhập tên học sinh: Sri Veera Venkata Satya Sai Suresh Santosh Samrat Tên không phù hợp