Biểu thức chính quy sau khớp với chuỗi chỉ chứa chữ cái tiếng Anh:
"^[a-zA-Z]*$"
Giải thích:
- ^ khớp với đầu chuỗi.
- [a-zA-Z] khớp với chữ thường và chữ hoa.
- * chỉ định xuất hiện 0 hoặc nhiều lần.
- $ khớp với cuối chuỗi.
Ví dụ 1: Sử dụng Pattern và Matcher
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ContainsAlphabetExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String names[] = new String[5];
for (int i = 0; i < names.length; i++) {
System.out.println("Nhập tên của bạn: ");
names[i] = sc.nextLine();
}
// Regex chỉ chấp nhận chữ cái tiếng Anh
String regex = "^[a-zA-Z]*$";
// Tạo đối tượng Pattern
Pattern pattern = Pattern.compile(regex);
for (String name : names) {
// Tạo đối tượng Matcher
Matcher matcher = pattern.matcher(name);
if (matcher.matches()) {
System.out.println(name + " là tên hợp lệ");
} else {
System.out.println(name + " không phải tên hợp lệ");
}
}
}
}
Kết quả
Nhập tên của bạn: krishna Nhập tên của bạn: kasyap Nhập tên của bạn: maruthi# Nhập tên của bạn: Sai_Ram Nhập tên của bạn: Vani.Viswanath krishna là tên hợp lệ kasyap là tên hợp lệ maruthi# không phải tên hợp lệ Sai_Ram không phải tên hợp lệ Vani.Viswanath không phải tên hợp lệ
Ví dụ 2: Sử dụng String.matches()
import java.util.Scanner;
public class Just {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Nhập tên của bạn: ");
String name = sc.nextLine();
String regex = "^[a-zA-Z]*$";
boolean result = name.matches(regex);
if (result) {
System.out.println("Tên đã cho là hợp lệ");
} else {
System.out.println("Tên đã cho không hợp lệ");
}
}
}
Kết quả
Nhập tên của bạn: vasu#dev Tên đã cho không hợp lệ