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

อธิบายการสร้างนิพจน์ทั่วไป Java อีกครั้ง?


นิพจน์ย่อย/เมทาคาแรคเตอร์ “re?” ตรงกับ 0 หรือ 1 การเกิดนิพจน์ก่อนหน้า

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

นำเข้า java.util.regex.Matcher;import java.util.regex.Pattern; RegexExample คลาสสาธารณะ { โมฆะคงที่สาธารณะหลัก ( สตริง args [] ) { สตริง regex ="ดีไหม"; อินพุตสตริง ="ยินดีต้อนรับสู่ Tutorialspoint"; รูปแบบ p =Pattern.compile (regex); Matcher m =p.matcher (อินพุต); จำนวน int =0; ในขณะที่ (m.find ()) { นับ ++; } System.out.println("จำนวนที่ตรงกัน:"+นับ); }}

ผลลัพธ์

จำนวนการแข่งขัน:1

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

โปรแกรม 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 เกิดขึ้น

ผลลัพธ์ 3

ป้อนสตริงอินพุต:32 89 45 63 ไม่ตรงกัน