Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Biểu thức chính quy Java kiểm tra chuỗi chỉ chứa chữ cái


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ệ