Rumah > Java > javaTutorial > teks badan

Terima rentetan tarikh (format MM-dd-yyyy) menggunakan regex Java?

WBOY
Lepaskan: 2023-09-07 18:05:02
ke hadapan
1413 orang telah melayarinya

Terima rentetan tarikh (format MM-dd-yyyy) menggunakan regex Java?

Berikut ialah ungkapan biasa yang sepadan dengan tarikh dalam format dd-MM-yyyy.

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

Padanan tarikh dalam rentetan format ini.

  • Kompilasi kelas Corak ekspresi kaedah compile() di atas.

  • Pintas rentetan input yang diperlukan sebagai parameter kepada kaedah matcher() kelas Pattern untuk mendapatkan objek Matcher.

  • < li>

    Kaedah padanan() kelas Matcher mengembalikan benar jika padanan berlaku, jika tidak, ia mengembalikan palsu. Oleh itu, kaedah ini dipanggil untuk mengesahkan data.

Contoh 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}$";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(date);
      boolean bool = matcher.matches();
      if(bool) {
         System.out.println("Date is valid");
      } else {
         System.out.println("Date is not valid");
      }
   }
}
Salin selepas log masuk

Output

Date is valid
Salin selepas log masuk

Kaedah padanan() kelas String menerima ungkapan biasa dan memadankan rentetan semasa jika ia sepadan dengannya benar, jika tidak palsu dikembalikan. Jadi, untuk mengesahkan bahawa tarikh tertentu (dalam format rentetan) mematuhi format yang diperlukan -

  • Dapatkan rentetan tarikh.
  • Panggil kaedah matches() , memberikannya ungkapan biasa di atas sebagai parameter.

Contoh 2

import java.util.Scanner;
public class Just {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter your name: ");
      String name = sc.nextLine();
      System.out.println("Enter your Date of birth: ");
      String dob = sc.nextLine();
      //Regular expression to accept date in MM-DD-YYY format
      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("Given date of birth is valid");
      } else {
         System.out.println("Given date of birth is not valid");
      }
   }
}
Salin selepas log masuk

Output 1

Enter your name:
Janaki
Enter your Date of birth:
26/09/1989
Given date of birth is not valid
Salin selepas log masuk

Output 2

Enter your name:
Janaki
Enter your Date of birth:
09/26/1989
Given date of birth is valid
Salin selepas log masuk

Atas ialah kandungan terperinci Terima rentetan tarikh (format MM-dd-yyyy) menggunakan regex Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan