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

โปรแกรม Java regex เพื่อตรวจสอบว่า String มีอักขระที่เป็นตัวอักษรและตัวเลขคละกันอย่างน้อยหนึ่งตัวหรือไม่


การติดตามนิพจน์ทั่วไปจะจับคู่สตริงที่มีอักขระที่เป็นตัวอักษรและตัวเลขคละกันอย่างน้อยหนึ่งตัว -

"^.*[a-zA-Z0-9]+.*$";

ที่ไหน

  • ^.* จับคู่สตริงที่ขึ้นต้นด้วยอักขระ 0 ตัวหรือมากกว่า (ใดๆ)

  • [a-zA-Z0-9]+ จับคู่อักขระที่เป็นตัวอักษรและตัวเลขอย่างน้อยหนึ่งตัว

  • *$ จับคู่สตริงที่ลงท้ายด้วยอักขระ (ant) 0 ตัวหรือมากกว่า

ตัวอย่างที่ 1

<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; ตัวอย่างคลาสสาธารณะ { โมฆะสาธารณะสาธารณะหลัก (สตริง args []) {// การอ่านสตริงจากระบบของผู้ใช้ .out.println("ป้อนสตริง"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); อินพุตสตริง =sc.nextLine(); //นิพจน์ปกติ String regex ="^.*[a-zA-Z0-9]+.*$"; //การคอมไพล์นิพจน์ทั่วไป Pattern pattern =Pattern.compile(regex); //ดึงวัตถุที่จับคู่ Matcher matcher =pattern.matcher (อินพุต); จำนวน int =0; if(matcher.matches()) { System.out.println ("สตริงที่ระบุถูกต้อง"); } อื่น { System.out.println ("สตริงที่ระบุไม่ถูกต้อง"); } }}

ผลลัพธ์ 1

ป้อนสตริง###test123$$$สตริงที่ระบุถูกต้อง

ผลลัพธ์ 2

ป้อนสตริง####$$$$สตริงที่ระบุไม่ถูกต้อง

ตัวอย่างที่ 2

<ก่อน>นำเข้า java.util.Scanner; ตัวอย่างคลาสสาธารณะ { โมฆะสาธารณะสาธารณะหลัก (สตริง args []) {// การอ่านสตริงจากผู้ใช้ System.out.println ("ป้อนสตริง"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); อินพุตสตริง =sc.nextLine(); //นิพจน์ปกติ String regex ="^.*[a-zA-Z0-9]+.*$"; ผลลัพธ์บูลีน =input.matches (regex); if(ผล) { System.out.println("ถูกต้องตรงกัน"); } อื่น { System.out.println ("ตรงกัน"); } }}

ผลลัพธ์ 1

ป้อนสตริง###test123$$$ตรงที่ตรงกัน

ผลลัพธ์ 2

ป้อนสตริง####$$$$ในการจับคู่ที่ถูกต้อง