คลาสรูปแบบของ java.regex package เป็นการแสดงนิพจน์ทั่วไปที่คอมไพล์แล้ว
คอมไพล์() เมธอดของคลาสนี้ยอมรับค่าสตริงที่แสดงนิพจน์ทั่วไปและส่งกลับ รูปแบบ วัตถุ ต่อไปนี้เป็นลายเซ็นของวิธีนี้
การคอมไพล์รูปแบบคงที่ (String regex)
อีกรูปแบบหนึ่งของวิธีนี้ยอมรับค่าจำนวนเต็มแทนแฟล็ก ต่อไปนี้เป็นลายเซ็นของวิธีการคอมไพล์ที่มีพารามิเตอร์สองตัว
การคอมไพล์รูปแบบคงที่ (String regex, แฟล็ก int)
รูปแบบ คลาสให้ฟิลด์ต่าง ๆ แต่ละอันแทนแฟล็ก
S.No | ฟิลด์และคำอธิบาย |
---|---|
1 | CANON_EQ จับคู่อักขระสองตัวก็ต่อเมื่อมีค่าเท่ากันตามบัญญัติ |
2 | CASE_INSENSITIVE จับคู่อักขระโดยไม่คำนึงถึงตัวพิมพ์ |
3 | ความคิดเห็น อนุญาตช่องว่างและความคิดเห็นในรูปแบบ |
4 | DOTALL เปิดใช้งานโหมด dotall ที่ไหน "." อักขระ Meta ตรงกับอักขระทั้งหมดรวมทั้งตัวสิ้นสุดบรรทัด |
5 | ตัวอักษร เปิดใช้งานการแยกวิเคราะห์ตามตัวอักษรของรูปแบบ กล่าวคือ เมตาคาแรคเตอร์และเอสเควนซีเควนซ์ทั้งหมดในลำดับอินพุตจะถือเป็นอักขระตามตัวอักษร |
6 | MULTILINE เปิดใช้งานโหมดหลายบรรทัด เช่น ลำดับอินพุตทั้งหมดถือเป็นบรรทัดเดียว |
7 | UNICODE_CASE เปิดใช้งานการพับเคสที่รับรู้ Unicode เช่น เมื่อใช้ร่วมกับ CASE_INSENSITIVE หากคุณค้นหาอักขระ Unicode โดยใช้นิพจน์ทั่วไป อักขระ Unicode ของทั้งสองกรณีจะถูกจับคู่ |
8 | UNICODE_CHARACTER_CLASS เปิดใช้งานรุ่น Unicode ของคลาสอักขระที่กำหนดไว้ล่วงหน้าและคลาสอักขระ POSIX |
9 | UNIX_LINES แฟล็กนี้เปิดใช้งานโหมดบรรทัด Unix |
flags() เมธอดของคลาสนี้จะคืนค่าแฟล็กที่ใช้ในรูปแบบปัจจุบัน
ตัวอย่าง
<ก่อนหน้า> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; คลาสสาธารณะ COMMENTES_Example { โมฆะสาธารณะหลัก (สตริง [] args) { Scanner sc =สแกนเนอร์ใหม่ (ระบบ .ใน); System.out.println("ป้อนชื่อของคุณ:"); ชื่อสตริง =sc.nextLine(); System.out.println("ป้อนวันเดือนปีเกิดของคุณ:"); สตริง dob =sc.nextLine(); //นิพจน์ทั่วไปที่จะยอมรับวันที่ในรูปแบบ MM-DD-YYY String regex ="^(1[0-2]|0[1-9])/ # For Month\n" + "(3[01]|[ 12][0-9]|0[1-9])/ # สำหรับวันที่\n"+ "[0-9]{4}$ # สำหรับปี"; //การสร้างวัตถุรูปแบบ Pattern pattern =Pattern.compile(regex, Pattern.COMMENTS); //การสร้างวัตถุตัวจับคู่ Matcher matcher =pattern.matcher(dob); ผลบูลีน =matcher.matches(); if(ผล) { System.out.println("วันเดือนปีเกิดถูกต้อง"); } อื่น { System.out.println ("วันเกิดไม่ถูกต้อง"); } System.out.println("แฟล็กที่ใช้:"+ pattern.flags()); }}ผลลัพธ์
ป้อนชื่อของคุณ:กฤษณะป้อนวันเดือนปีเกิดของคุณ:09/26/1989ระบุวันเดือนปีเกิดถูกต้องธงที่ใช้:4