Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เมธอด pattern() ของ Pattern ใน Java พร้อมตัวอย่าง

แพ็กเกจ java.util.regex ของ Java มีคลาสต่างๆ สำหรับค้นหารูปแบบเฉพาะในลำดับตัวอักษร คลาส Pattern ของแพ็กเกจนี้เป็นการแสดงรูปแบบที่คอมไพล์แล้วของนิพจน์ปกติ

เมธอด pattern() ของคลาส Pattern จะดึงและส่งคืนนิพจน์ปกติในรูปแบบสตริง ที่ใช้ในการคอมไพล์รูปแบบปัจจุบัน

ตัวอย่างที่ 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}$"; 
        // สร้างออบเจ็กต์ Pattern 
        Pattern pattern = Pattern.compile(regex); 
        if(pattern.matcher(date).matches()) { 
            System.out.println("Date is valid"); 
        } else { 
            System.out.println("Date is not valid"); 
        } 
        // ดึงนิพจน์ปกติของรูปแบบปัจจุบัน 
        String regularExpression = pattern.pattern(); 
        System.out.println("Regular expression: " + regularExpression); 
    } 
}

ผลลัพธ์

Date is valid 
Regular expression: ^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$

ตัวอย่างที่ 2

public class PatternExample { 
    public static void main(String[] args) { 
        String input = "Hi my id is 056E1563"; 
        // นิพจน์ปกติใช้กลุ่ม (groups) 
        String regex = "(.*)?(\\d+)"; 
        Pattern pattern = Pattern.compile(regex); 
        if(pattern.matcher(input).matches()) { 
            System.out.println("Match found"); 
        } else { 
            System.out.println("Match not found"); 
        } 
        String regularExpression = pattern.pattern(); 
        System.out.println("Regular expression: " + regularExpression); 
    } 
}

ผลลัพธ์

Match found 
Regular expression: (.*)?(\d+)