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

รูปแบบการจับคู่ () วิธีการใน Java พร้อมตัวอย่าง


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