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

Java reg ex สำหรับตรวจสอบวันที่และเวลาคืออะไร


ในการจับคู่นิพจน์ทั่วไปกับสตริงที่กำหนด คุณต้อง:.

  • คอมไพล์นิพจน์ทั่วไปของเมธอด compile() ของคลาส Pattern
  • รับออบเจ็กต์ Matcher โดยข้ามสตริงอินพุตที่ต้องการเป็นพารามิเตอร์ไปยังเมธอด matcher() ของคลาส Pattern
  • เมธอดmatch() ของคลาส Matcher จะคืนค่า จริง หากการจับคู่เกิดขึ้น มิฉะนั้นจะคืนค่า เท็จ ดังนั้น เรียกใช้วิธีนี้เพื่อตรวจสอบข้อมูล

ตัวอย่าง

ต่อไปนี้เป็นตัวอย่างนิพจน์ทั่วไปของ Java ที่ตรงกับวันที่เท่านั้น

นำเข้า java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;ตัวอย่างคลาสสาธารณะ { public static void main (String args[]){ //การสร้างรายการเพื่อเก็บวันที่ วันที่ของรายการ =new ArrayList(); date.add("25-12-1990"); date.add("25/12/1990"); date.add("2010-06-24 06:30"); date.add("05-02-1990"); date.add("1920-11-03 12:40"); //นิพจน์ทั่วไปเพื่อให้ตรงกับวันที่ String regex ="[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][ 0-9]|3[0-1])"; //การคอมไพล์นิพจน์ทั่วไป Pattern pattern =Pattern.compile(regex); // จับคู่แต่ละวันที่สำหรับ (วันที่ของวัตถุ:วันที่) { Matcher matcher =pattern.matcher ((CharSequence) วันที่); System.out.println(date +":"+ matcher.matches()); } }}

ผลลัพธ์

25-12-1990:false25/12/1990:false2010-06-24:true05-02-1990:false1920-11-03:true

ตัวอย่าง

ตัวอย่างต่อไปนี้ตรงกับวันที่และเวลา -

นำเข้า java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;ตัวอย่างคลาสสาธารณะ { public static void main (String args[]){ //การสร้างรายการเพื่อเก็บวันที่ วันที่ของรายการ =new ArrayList(); date.add("25-12-1990"); date.add("25/12/1990"); date.add("2010-06-24 12:30:40"); date.add("05-02-1990 44:205:40"); date.add("1920-11-03 06:25:40"); //นิพจน์ทั่วไปเพื่อให้ตรงกับวันที่ String regex ="[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][ 0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9 ]"; //การคอมไพล์นิพจน์ทั่วไป Pattern pattern =Pattern.compile(regex); // จับคู่แต่ละวันที่สำหรับ (วันที่ของวัตถุ:วันที่) { Matcher matcher =pattern.matcher ((CharSequence) วันที่); System.out.println(date +":"+ matcher.matches()); } }}

ผลลัพธ์

<ก่อน>25-12-1990:false25/12/1990:false2010-06-24 12:30:40:true05-02-1990 44:205:40:false1920-11-03 06:25:40:true