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

จะจับคู่ขอบเขตที่ไม่ใช่คำโดยใช้ Java RegEx ได้อย่างไร


คุณสามารถจับคู่ขอบเขตที่ไม่ใช่คำได้โดยใช้อักขระเมตา “\\B”

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

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

ผลลัพธ์

ป้อนสตริงนี่คือตัวอย่างข้อความจำนวนขอบเขตที่ไม่ใช่คำ:12

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

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

ผลลัพธ์

ป้อนสตริง:นี่คือข้อความตัวอย่างใน win tin pin sinno ของขอบเขตที่ไม่ใช่คำ:4