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

จะใช้นิพจน์ทั่วไปใน Java เพื่อจับคู่รูปแบบได้อย่างไร


นิพจน์ทั่วไปคือสตริงของอักขระที่กำหนด/สร้างรูปแบบเพื่อค้นหาข้อความที่ป้อน นิพจน์ทั่วไปอาจมีอักขระได้ตั้งแต่หนึ่งตัวขึ้นไป โดยใช้นิพจน์ทั่วไป คุณสามารถค้นหาหรือแทนที่สตริงได้

Java จัดเตรียมแพ็คเกจ java.util.regex สำหรับการจับคู่รูปแบบกับนิพจน์ทั่วไป รูปแบบ คลาสของแพ็คเกจนี้เป็นการแสดงนิพจน์ทั่วไปที่คอมไพล์แล้ว ในการจับคู่นิพจน์ทั่วไปกับสตริง คลาสนี้จะมีสองวิธีคือ −

  • คอมไพล์(): เมธอดนี้ยอมรับสตริงที่แสดงนิพจน์ทั่วไปและส่งคืนอ็อบเจ็กต์ของอ็อบเจกต์ Pattern
  • ตัวจับคู่ (): เมธอดนี้ยอมรับค่าสตริงและสร้างอ็อบเจ็กต์ที่จับคู่ซึ่งตรงกับสตริงที่กำหนดกับรูปแบบที่แสดงโดยอ็อบเจ็กต์รูปแบบปัจจุบัน

ตัวอย่าง

โปรแกรม Java ต่อไปนี้จะรับสตริงจากผู้ใช้ ตรวจสอบว่ามีตัวอักษรหรือไม่ (ทั้งสองกรณี) นอกจากนี้ยังรับตัวเลขด้วย

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

ผลลัพธ์ 1

ป้อนสตริงอินพุต:ตัวอย่าง textMatch เกิดขึ้น

ผลลัพธ์ 2

ป้อนสตริงอินพุต:ตัวอย่างข้อความ 34 56Match เกิดขึ้น