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

จับคู่จากชุดอักขระ Java ปกติ expression


คลาสอักขระในนิพจน์ทั่วไป Java ถูกกำหนดโดยใช้วงเล็บเหลี่ยม "[ ]" คลาสอักขระตรงกับอักขระตัวเดียวจากที่ระบุหรือชุดของอักขระที่เป็นไปได้

ตัวอย่างเช่น นิพจน์ทั่วไป [abc] จะจับคู่อักขระตัวเดียว a หรือ b หรือ c ในทำนองเดียวกัน "[a-z]" จะจับคู่อักขระจาก a ถึง z

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

<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; คลาสสาธารณะ RegexExample1 { โมฆะสาธารณะหลัก (สตริง [] args) { Scanner sc =สแกนเนอร์ใหม่ (ระบบ .ใน); System.out.println("ป้อนข้อความ:"); อินพุตสตริง =sc.nextLine(); สตริง regex ="[a-z]"; //การสร้างวัตถุรูปแบบ Pattern pattern =Pattern.compile(regex); //จับคู่รูปแบบที่คอมไพล์แล้วใน String Matcher matcher =pattern.matcher(input); จำนวนเต็ม =0; ในขณะที่ (matcher.find()) { นับ ++; } System.out.println("จำนวนอักขระจาก a ถึง z:"+จำนวน); }}

ผลลัพธ์

ป้อนข้อความที่ป้อน:ตัวอย่างข้อมูล 1234$จำนวนอักขระจาก a ถึง z:10

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

<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; คลาสสาธารณะ RegexExample1 { โมฆะสาธารณะหลัก (สตริง [] args) { Scanner sc =สแกนเนอร์ใหม่ (ระบบ .ใน); System.out.println("ป้อนข้อความ:"); อินพุตสตริง =sc.nextLine(); สตริง regex ="[^a-z]"; //การสร้างวัตถุรูปแบบ Pattern pattern =Pattern.compile(regex); //จับคู่รูปแบบที่คอมไพล์แล้วใน String Matcher matcher =pattern.matcher(input); จำนวนเต็ม =0; ในขณะที่ (matcher.find()) { นับ ++; } System.out.println("จำนวนอักขระที่ไม่ใช่ตัวอักษร :"+จำนวน); }}

ผลลัพธ์

ป้อนข้อความที่ป้อน:ตัวอย่างข้อมูล 1234$จำนวนอักขระที่ไม่ใช่ตัวอักษร :7