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

Matcher useAnchoringBounds() วิธีการใน Java พร้อม Examples


คลาส java.util.regex.Matcher แสดงถึงเอ็นจิ้นที่ดำเนินการจับคู่ต่างๆ ไม่มีตัวสร้างสำหรับคลาสนี้ คุณสามารถสร้าง/รับวัตถุของคลาสนี้โดยใช้เมธอดmatch() ของคลาส java.util.regex.Pattern

ขอบเขตการทอดสมอใช้เพื่อจับคู่ภูมิภาคที่ตรงกัน เช่น ^ และ $ โดยค่าเริ่มต้น ตัวจับคู่จะใช้ขอบเขตการทอดสมอ

useAnchoringBounds() เมธอดของคลาสนี้ยอมรับค่าบูลีน และหากคุณส่งค่าจริงไปยังเมธอดนี้ ตัวจับคู่ปัจจุบันจะใช้ขอบเขตการทอดสมอ และหากคุณส่งค่าเท็จไปยังเมธอดนี้ จะใช้ขอบเขตที่ไม่ยึดโยง

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

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

ผลลัพธ์

ป้อนอินพุต stringsampleCompiled Regular expression:.*\d+.*Current matcher use non-anchoring bounds

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

import java.util.regex.Matcher;import java.util.regex.Pattern;คลาสสาธารณะ ตัวอย่าง { public static void main ( String args[] ) { String regex ="^.*"; อินพุตสตริง ="";//สวัสดี
ยินดีต้อนรับสู่ Tutorialspoint"; Pattern pattern =Pattern.compile (regex); Matcher matcher =pattern.matcher (input); matcher =matcher.useAnchoringBounds (เท็จ); if (matcher.matches ()) { System.out.println ("พบการจับคู่"); } อื่น { System.out.println ("ไม่พบการจับคู่"); } System.out.println ("มีขอบเขตการทอดสมอ:"+matcher.hasAnchoringBounds()); }}

ผลลัพธ์

พบการจับคู่มีขอบเขตการทอดสมอ:เท็จ