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

Cách khớp ký tự không phải từ dùng Java RegEx

Tất cả các ký tự khác ngoài bảng chữ cái tiếng Anh (cả hai trường hợp) và chữ số (0 đến 9) được coi là ký tự không phải từ. Bạn có thể khớp chúng bằng metaký tự “\\W”.

Ví dụ 1

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

public class Example {
    public static void main(String args[]) {
        // Đọc chuỗi từ người dùng
        System.out.println("Nhập một chuỗi");
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        String regex = "^\\W{5}";
        
        // Biên dịch biểu thức chính quy
        Pattern pattern = Pattern.compile(regex);
        
        // Lấy đối tượng matcher
        Matcher matcher = pattern.matcher(input);
        if (matcher.find()) {
            System.out.println("Khớp xảy ra");
        } else {
            System.out.println("Không khớp");
        }
    }
}

Kết quả 1

Nhập một chuỗi *&&^#
Khớp xảy ra

Kết quả 2

Nhập một chuỗi hello
Không khớp

Ví dụ 2

import java.util.Scanner;

public class RegexExample {
    public static void main(String args[]) {
        String regex = "\\W*";
        System.out.println("Nhập giá trị đầu vào: ");
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        boolean bool = input.matches(regex);
        if (bool) {
            System.out.println("khớp xảy ra");
        } else {
            System.out.println("không khớp");
        }
    }
}

Kết quả

Nhập giá trị đầu vào: #***
khớp xảy ra