คลาส java.util.regex.Matcher แสดงถึงเอ็นจิ้นที่ดำเนินการจับคู่ต่างๆ ไม่มีตัวสร้างสำหรับคลาสนี้ คุณสามารถสร้าง/รับวัตถุของคลาสนี้โดยใช้เมธอดmatch() ของคลาส java.util.regex.Pattern
ภูมิภาค() เมธอดของคลาส (Matcher) นี้ยอมรับค่าจำนวนเต็มสองค่าที่แสดงตำแหน่งในสตริงอินพุตและตั้งค่าขอบเขตของตัวจับคู่ปัจจุบัน
ตัวอย่างที่ 1
<ก่อนหน้า> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; คลาสสาธารณะ RegionExample { โมฆะสาธารณะหลัก (สตริง [] args) {// นิพจน์ปกติที่จะยอมรับ 6 ถึง 10 ตัวอักษร String regex ="\\A(?=\\w{6,10}\\z)"; System.out.println("ป้อน 5 ถึง 12 ตัวอักษร:"); อินพุตสตริง =สแกนเนอร์ใหม่ (System.in). ถัดไป (); //การสร้างวัตถุรูปแบบ Pattern pattern =Pattern.compile(regex); //การสร้าง Matcher วัตถุ Matcher matcher =pattern.matcher (อินพุต); //การตั้งค่าขอบเขตเป็นสตริงอินพุต matcher.region(0, 4); // เปลี่ยนเป็นขอบเขตโปร่งใส if (matcher.find ()) { System.out.println ("พบการจับคู่"); } อื่น { System.out.println ("ไม่พบรายการที่ตรงกัน"); } }}ผลลัพธ์
ป้อนอักขระ 5 ถึง 12 ตัว:sampleTextMatch ไม่พบ
ตัวอย่างที่ 2
นำเข้า java.util.regex.Matcher;import java.util.regex.Pattern;คลาสสาธารณะ RegionExample { โมฆะสาธารณะหลัก (สตริง [] args) { สตริง regex ="(.*) (\\d+) ( .*)"; String input ="นี่คือข้อความตัวอย่าง 1234 โดยมีตัวเลขอยู่ระหว่าง"; //การสร้างวัตถุรูปแบบ Pattern pattern =Pattern.compile(regex); //การสร้าง Matcher วัตถุ Matcher matcher =pattern.matcher (อินพุต); //การตั้งค่าขอบเขตของตัวจับคู่ matcher.region(0, 20); if(matcher.matches()) { System.out.println ("พบการจับคู่แล้ว"); } อื่น { System.out.println ("ไม่พบรายการที่ตรงกัน"); } }}
ผลลัพธ์
ไม่พบการแข่งขัน