คลาส 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 เกิดขึ้นสามครั้งในสตริงอินพุต คุณจึงสามารถสังเกตค่าออฟเซ็ตได้สามค่า (แสดงตำแหน่งในสตริงอินพุตหลังจากเกิดขึ้นแต่ละครั้ง)