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

Cách sử dụng biểu thức chính quy (Regular Expression) trong Java để khớp mẫu

Biểu thức chính quy (Regular Expression) là chuỗi ký tự định nghĩa/hình thành một mẫu (pattern) để tìm kiếm trong văn bản đầu vào. Biểu thức chính quy có thể chứa một hoặc nhiều ký tự, dùng để tìm kiếm hoặc thay thế chuỗi.

Java cung cấp gói java.util.regex cho khớp mẫu với biểu thức chính quy. Lớp Pattern của gói này là biểu diễn đã biên dịch của một biểu thức chính quy. Để khớp biểu thức chính quy với String, lớp này cung cấp 2 phương thức:

  • compile(): Chấp nhận String biểu diễn regex, trả về đối tượng Pattern.
  • matcher(): Chấp nhận String giá trị, tạo đối tượng Matcher khớp chuỗi đã cho với pattern của Pattern object hiện tại.

Ví dụ: Kiểm tra chuỗi chứa chữ cái và số

Chương trình sau nhận chuỗi từ người dùng, kiểm tra xem có chứa chữ cái (cả hoa/thường) và chấp nhận chữ số.

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

public class Test {
    public static void main(String args[]) {
        String regex = "[a-zA-Z][0-9]?";
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhập chuỗi đầu vào: ");
        String input = sc.nextLine();

        // Tạo Pattern object
        Pattern p = Pattern.compile(regex);
        // Tạo Matcher object
        Matcher m = p.matcher(input);

        if (m.find()) {
            System.out.println("Khớp (Match occurred)");
        } else {
            System.out.println("Không khớp (Match not occurred)");
        }
    }
}

Kết quả 1

Nhập chuỗi đầu vào: sample text
Khớp (Match occurred)

Kết quả 2

Nhập chuỗi đầu vào: sample text 34 56
Khớp (Match occurred)