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

POSIX Character Classes trong Java Regex


\p{IsAlphabetic}

Khớp ký tự chữ cái (alphabetic) theo Unicode, bao gồm chữ Latin, tiếng Việt, tiếng Nhật, v.v.

Ví dụ 1: Đếm ký tự alphabetic

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Example1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhập chuỗi: ");
        String input = sc.nextLine();
        String regex = "\\p{IsAlphabetic}";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        int count = 0;
        while (matcher.find()) {
            count++;
        }
        System.out.println("Số ký tự alphabetic: " + count);
    }
}
Nhập chuỗi: sample text
Số ký tự alphabetic: 10

Ví dụ 2: Lọc chuỗi có chữ cái

String regex = "^.*\\p{IsAlphabetic}.*$";
// Input: hello sample 243test ##$$@ 222356
// Khớp: hello, sample, 243test (có chữ cái)
// Không khớp: ##$$@, 222356

Các POSIX Classes quan trọng khác

ClassMô tả
\p{IsAlphabetic}Ký tự chữ cái (Unicode)
\p{IsDigit}Chữ số (Unicode)
\p{IsLowerCase}Chữ thường
\p{IsUpperCase}Chữ hoa
\p{IsWhiteSpace}Whitespace
\p{InBasicLatin}Basic Latin block
\p{InGreek}Greek block
\p{InCyrillic}Cyrillic block