แพ็กเกจ 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+)