English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

هل تستخدم Java regex لقبول سلسلة من التواريخ (-MM-dd-yyyy نمط)؟

هذه هي تعبيرات النمط التي تطابق تاريخ في شكل dd-MM-yyyy.

^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$

تطابق تاريخ النص بالشكل التالي.

  • تجميعcompile()عبر تعبير Pattern class.

  • مرور النص الإدخالي المطلوب كmatcher()يتم الحصول على Matcher object كمعامل لطريقة Pattern class.

  • matches()إذا تم التطابق، فإن طريقة Matcher class تعود صحيحة، وإلا تعود خطأ. لذا، قم بتشغيل هذه الطريقة لتحقق من البيانات.

مثال1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatchingDate {
   public static void main(String[] args) {
      String date = "01/12/2019";
      String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
      //إنشاء موضوع نموذج
      Pattern pattern = Pattern.compile(regex);
      //تطابق النمط المسبق للنص
      Matcher matcher = pattern.matcher(date);
      boolean bool = matcher.matches();
      if(bool) {
         System.out.println("تاريخ صالح هو");
      } else {
         System.out.println("Date is not valid");
      }
   }
}

النتائج الإخراج

Date is valid

matches()يقبل طريقة String التعبيرات النمطية ويقارنها بالسلسلة الحالية، إذا كانت تطابق فإنها تعود true، وإلا تعود false. لذلك، لتحقق من صحة التاريخ المقدم (تنسيق السلسلة)-

  • الحصول على سلسلة التاريخ

  • matches()بتقديم تعبير التحقق هذا كمعامل للتوقيع

مثال2

import java.util.Scanner;
public class Just {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("أدخل اسمك: ");
      String name = sc.nextLine();
      System.out.println("أدخل تاريخ ميلادك: ");
      String dob = sc.nextLine();
      // تعبير正则 لقبول التاريخ بتنسيق MM-DD-YYY
      String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
      boolean result = dob.matches(regex);
      if(result) {
         System.out.println("تاريخ الميلاد المقدم صالح");
      } else {
         System.out.println("تاريخ الميلاد المقدم غير صالح");
      }
   }
}

الإخراج 1

أدخل اسمك:
Janaki
أدخل تاريخ ميلادك:
26/09/1989
تاريخ الميلاد المقدم غير صالح

الإخراج 2

أدخل اسمك:
Janaki
أدخل تاريخ ميلادك:
26/09/1989
تاريخ الميلاد المقدم صالح