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

จะจับคู่หนึ่งในสองนิพจน์ที่กำหนดโดยใช้ Java RegEx ได้อย่างไร


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

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

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

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

ผลลัพธ์ 1

ป้อน Stringhello ว่า youMatch เกิดขึ้นได้อย่างไร

ผลลัพธ์ 2

ป้อนสตริงนี่คือตัวอย่าง stringMatch ที่ไม่เกิดขึ้น

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

นำเข้า java.util.Scanner; คลาสสาธารณะ RegexExample { public static void main ( String args[] ) {// นิพจน์ปกติเพื่อให้ตรงกับใช่หรือไม่ใช่ String regex ="ใช่ | ไม่ใช่"; System.out.println("ป้อนค่าที่ป้อน:"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); อินพุตสตริง =sc.nextLine(); บูลีนบูล =input.matches (regex); if (bool) { System.out.println ("การแข่งขันเกิดขึ้น"); } อื่น { System.out.println ("ไม่ยอมรับการจับคู่"); } }}

ผลลัพธ์ 1

ป้อนค่าที่ป้อน:มีการจับคู่เกิดขึ้น

ผลลัพธ์ 2

ป้อนค่าอินพุต:hellomatch ไม่ยอมรับ