คลาส java.util.regex.Matcher แสดงถึงเอ็นจิ้นที่ดำเนินการจับคู่ต่างๆ ไม่มีตัวสร้างสำหรับคลาสนี้ คุณสามารถสร้าง/รับวัตถุของคลาสนี้โดยใช้เมธอดmatch() ของคลาส java.util.regex.Pattern
สิ้นสุด() เมธอดของคลาส Matcher จะคืนค่าออฟเซ็ตหลังจากแมตช์สุดท้ายที่แสดงโดยอ็อบเจกต์ปัจจุบัน
นิพจน์ย่อย "[...]" ตรงกับอักขระที่ระบุภายในวงเล็บปีกกาในสตริงอินพุต ในตัวอย่างต่อไปนี้ ใช้สิ่งนี้เพื่อจับคู่อักขระ t . ที่นี่
-
เราได้รวบรวมนิพจน์ทั่วไปโดยใช้วิธีการคอมไพล์ ()
-
ได้รับวัตถุ Matcher แล้ว
-
เรียกใช้เมธอด matcher() ในแต่ละแมตช์
ตัวอย่าง
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class EndExample { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); String regex = "[t]"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); int count =0; while (matcher.find()) { int end = matcher.end(); System.out.println(end); } } }
ผลลัพธ์
Enter input text: Hello how are you welcome to Tutorialspoint 27 32 43
เนื่องจากอักขระ t เกิดขึ้นสามครั้งในสตริงอินพุต คุณจึงสามารถสังเกตค่าออฟเซ็ตได้สามค่า (แสดงตำแหน่งในสตริงอินพุตหลังจากเกิดขึ้นแต่ละครั้ง)