ในส่วนก่อนหน้านี้ เราได้เรียนรู้ขั้นตอนแรกของการใช้คลาส Pattern และคลาส Matcher การสร้างวัตถุรูปแบบ ในส่วนนี้ เราจะเรียนรู้ขั้นตอนที่สองต่อไป โดย รับวัตถุที่ตรงกัน
รับตัวจับคู่อินสแตนซ์ของคลาส Matcher ที่สามารถดึงอินพุตสตริงที่เรียกว่าวัตถุที่ตรงกัน:
Matchermatcher=pattern.matcher(อินพุต);
รูปแบบวัตถุรูปแบบเรียกเมธอด matcher (อินพุต CharSequence) เพื่อส่งคืนตัวจับคู่วัตถุ Matcher ซึ่งเรียกว่า วัตถุที่ตรงกัน อินพุตพารามิเตอร์ถูกใช้เพื่อให้สตริงที่จะถูกดึงโดยตัวจับคู่ อินพุตพารามิเตอร์สามารถเป็นวัตถุที่สร้างขึ้นโดยคลาสใด ๆ ที่ใช้อินเทอร์เฟซ CharSequence
ตัวจับคู่วัตถุที่ตรงกันสามารถเรียกใช้วิธีการต่างๆ เพื่อดึง ข้อมูลอินพุต สตริง ตัวอย่างเช่น: ตัวจับคู่จะเรียกใช้เมธอด boolean find() ตามลำดับเพื่อดึงสตริงย่อยในอินพุตที่ตรงกับ regex ตัวอย่างเช่น: การเรียกใช้เมธอด find() ครั้งแรกจะดึงข้อมูลสตริงย่อยแรกในอินพุต นั่นคือ matcher.find() จะดึงข้อมูลสินค้ารายการแรกและส่งกลับค่าจริง ในขณะนี้ ค่าที่ส่งคืนโดย matcher.start( ) คือ 6 ตำแหน่งที่ good แรกเริ่มต้น ค่าที่ส่งคืนโดย matcher.end() คือ 10 ตำแหน่งที่ good แรกสิ้นสุด matcher.group() ส่งคืน good นั่นคือ ส่งคืนสตริงที่ดึงข้อมูล
เครื่องมือจับคู่วัตถุ Matcher สามารถใช้วิธีการต่อไปนี้เพื่อค้นหาว่ามีลำดับย่อยในอินพุตสตริงที่ตรงกับ regex รูปแบบหรือไม่ regex เป็นนิพจน์ทั่วไปที่ใช้เมื่อสร้างรูปแบบวัตถุรูปแบบ
ค้นหาลำดับถัดไปที่ตรงกับอินพุตและ regex หากสำเร็จ เมธอดจะส่งกลับค่าจริง มิเช่นนั้นจะส่งกลับค่าเท็จ เมื่อตัวจับคู่เรียกใช้เมธอดนี้เป็นครั้งแรก มันจะค้นหาลำดับย่อยแรกในอินพุตที่ตรงกับ regex หาก find() คืนค่าเป็นจริง เมื่อตัวจับคู่เรียกเมธอด find() อีกครั้ง ระบบจะเริ่มค้นหาจากลำดับสุดท้าย ลำดับย่อยที่ตรงกับรูปแบบสำเร็จ นอกจากนี้ เมื่อเมธอด find ส่งคืนค่าเป็นจริง ตัวจับคู่สามารถเรียกใช้เมธอด start() และเมธอด end เพื่อรับตำแหน่งเริ่มต้นและสิ้นสุดของลำดับย่อยของรูปแบบที่ตรงกันในอินพุต เมื่อเมธอด find คืนค่าเป็นจริง ตัวจับคู่จะเรียก group() เพื่อส่งคืนสตริงย่อยของรูปแบบการจับคู่ที่พบโดยเมธอด find ในครั้งนี้
ตัวจับคู่เรียกเมธอดนี้เพื่อตรวจสอบว่าอินพุตตรงกับ regex โดยสมบูรณ์หรือไม่
ตัวจับคู่เรียกเมธอดนี้เพื่อตรวจสอบว่ามีลำดับย่อยที่ตรงกับ regex จากจุดเริ่มต้นของอินพุตหรือไม่ หากเมธอด LookingAt() คืนค่าเป็นจริง ตัวจับคู่จะเรียกเมธอด start() และวิธีการสิ้นสุดเพื่อรับตำแหน่งเริ่มต้นและตำแหน่งสิ้นสุดในอินพุตของลำดับถัดไปของรูปแบบการจับคู่ที่พบโดยเมธอด LookingAt() หากเมธอด LookingAt() คืนค่าเป็นจริง ตัวจับคู่จะเรียก group() เพื่อส่งคืนลำดับถัดไปของรูปแบบการจับคู่ที่พบโดยเมธอด LookingAt()
ตัวจับคู่เรียกเมธอดนี้เพื่อตรวจสอบว่าอินพุตมีลำดับย่อยที่ตรงกับ regex โดยเริ่มต้นจากตำแหน่งที่ระบุโดยพารามิเตอร์ start หรือไม่ เมื่อพารามิเตอร์ start เป็น 0 เมธอดนี้จะมีฟังก์ชันเหมือนกับ LookingAt()
ตัวจับคู่สามารถส่งคืนสตริงได้โดยการเรียกเมธอดนี้ สตริงได้มาโดยการแทนที่สตริงย่อยทั้งหมดในอินพุตที่ตรงกับรูปแบบ regex ด้วยสตริงที่ระบุโดยการแทนที่พารามิเตอร์ ควรสังเกตว่าอินพุตนั้นจะไม่เปลี่ยนแปลง
ตัวจับคู่เรียกเมธอดนี้เพื่อส่งคืนสตริง ซึ่งได้มาจากการแทนที่สตริงย่อยแรกในอินพุตที่ตรงกับรูปแบบ regex ด้วยสตริงที่ระบุโดยการแทนที่พารามิเตอร์ ควรสังเกตว่าอินพุตนั้นไม่เปลี่ยนแปลง