java.util.regex แพ็คเกจของ java มีคลาสต่างๆ เพื่อค้นหารูปแบบเฉพาะในลำดับอักขระ คลาสรูปแบบของแพ็คเกจนี้เป็นการแสดงนิพจน์ทั่วไปที่คอมไพล์แล้ว
matches() วิธีการของคลาส Pattern ยอมรับ -
-
ค่าสตริงที่แสดงถึงนิพจน์ทั่วไป
-
วัตถุของ CharSequence คลาสที่แสดงสตริงอินพุต
ในการเรียกใช้ เมธอดนี้จับคู่สตริงอินพุตกับนิพจน์ทั่วไป เมธอดนี้คืนค่าบูลีนที่เป็นจริงในกรณีที่มีการจับคู่อื่น เป็นเท็จ
ตัวอย่าง
import java.util.Scanner;
import java.util.regex.Pattern;
public class MatchesExample {
public static void main(String[] args) {
//Getting the date
Scanner sc = new Scanner(System.in);
System.out.println("Enter date string in [dd/mm/yyy] format: ");
String date = sc.next();
String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
//Creating a pattern object
boolean result = Pattern.matches(regex, date);
if(result) {
System.out.println("Date is valid");
} else {
System.out.println("Date is not valid");
}
}
} ผลลัพธ์ 1
Enter date string in [dd/mm/yyy] format: 01/12/2019 Date is valid
ผลลัพธ์ 2
Enter date string in [dd/mm/yyy] format: 2019-21-12 Date is not valid