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

Phương thức pattern() của Pattern trong Java với các ví dụ

Gói java.util.regex của Java cung cấp các lớp để tìm các mẫu cụ thể trong chuỗi ký tự. 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.

Phương thức pattern() của lớp Pattern truy xuất và trả về biểu thức chính quy ở định dạng chuỗi, màPattern hiện tại được biên dịch từ đó.

Ví dụ 1

import java.util.regex.Pattern;

public class PatternExample {
    public static void main(String[] args) {
        String date = "12/09/2019";
        String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
        
        // Tạo đối tượng Pattern
        Pattern pattern = Pattern.compile(regex);
        
        if (pattern.matcher(date).matches()) {
            System.out.println("Ngày hợp lệ");
        } else {
            System.out.println("Ngày không hợp lệ");
        }
        
        // Truy xuất biểu thức chính quy của pattern hiện tại
        String regularExpression = pattern.pattern();
        System.out.println("Biểu thức chính quy: " + regularExpression);
    }
}

Kết quả

Ngày hợp lệ
Biểu thức chính quy: ^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$

Ví dụ 2

import java.util.regex.Pattern;

public class PatternExample {
    public static void main(String[] args) {
        String input = "Hi my id is 056E1563";
        // Biểu thức chính quy sử dụng nhóm
        String regex = "(.*)?(\\d+)";
        
        // Tạo đối tượng Pattern
        Pattern pattern = Pattern.compile(regex);
        
        if (pattern.matcher(input).matches()) {
            System.out.println("Tìm thấy khớp");
        } else {
            System.out.println("Không tìm thấy khớp");
        }
        
        // Truy xuất biểu thức chính quy của pattern hiện tại
        String regularExpression = pattern.pattern();
        System.out.println("Biểu thức chính quy: " + regularExpression);
    }
}

Kết quả

Tìm thấy khớp
Biểu thức chính quy: (.*)?(\d+)