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