หากต้องการจับคู่ช่วงของอักขระ เช่น เพื่อให้ตรงกับอักขระทั้งหมดระหว่างอักขระสองตัวที่ระบุในลำดับ คุณสามารถใช้คลาสอักขระเป็น
[a-z]
-
นิพจน์ “[a-zA-Z] ” ยอมรับอักษรภาษาอังกฤษใด ๆ
-
นิพจน์ “[0-9&&[^35]] ” ยอมรับตัวเลขยกเว้น 3 และ 5
ตัวอย่างที่ 1
<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; ตัวอย่างคลาสสาธารณะ { โมฆะสาธารณะสาธารณะหลัก (สตริง args []) {// การอ่านสตริงจากระบบของผู้ใช้ .out.println("ป้อนสตริง"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); อินพุตสตริง =sc.nextLine(); สตริง regex ="^[a-zA-Z0-9]*$"; //การคอมไพล์นิพจน์ทั่วไป Pattern pattern =Pattern.compile(regex); //ดึงวัตถุที่จับคู่ Matcher matcher =pattern.matcher (อินพุต); if (matcher.matches ()) { System.out.println ("การจับคู่เกิดขึ้น"); } อื่น { System.out.println ("ไม่ตรงกัน"); } }}ผลลัพธ์ 1
ป้อน StringHelloMatch เกิดขึ้น
ผลลัพธ์ 2
ป้อน Stringsample#Match ไม่เกิดขึ้น
ตัวอย่างที่ 2
<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; ตัวอย่างคลาสสาธารณะ { โมฆะสาธารณะสาธารณะหลัก (สตริง args []) {// การอ่านสตริงจากระบบของผู้ใช้ .out.println("ป้อนสตริง"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); อินพุตสตริง =sc.nextLine(); สตริง regex ="[0-9&&[^35]]"; //การคอมไพล์นิพจน์ทั่วไป Pattern pattern =Pattern.compile(regex); //ดึงวัตถุที่จับคู่ Matcher matcher =pattern.matcher (อินพุต); จำนวน int =0; ในขณะที่ (matcher.find ()) { นับ ++; } System.out.println("รายการ :"+นับ); }}ผลลัพธ์
ป้อนสตริง 111223333555689Occurrences :8