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