คลาส java.util.regex.Matcher แทนเครื่องจักรที่ดำเนินการจับคู่ต่างๆ ไม่มีคอนสตรัคเตอร์สำหรับคลาสนี้ คุณสามารถสร้าง/รับออบเจ็กต์ของคลาสนี้ได้โดยใช้เมธอด matcher() ของคลาส java.util.regex.Pattern
เมธอด start() ของคลาส Matcher ส่งคืนดัชนีเริ่มต้นของตัวอักษรที่จับคู่ได้
ตัวอย่าง
ซับนิพจน์ "[...]" จับคู่ตัวอักษรที่ระบุภายในวงเล็บในสตริงอินพุต ในตัวอย่างต่อไปนี้ใช้เพื่อจับคู่ตัวอักษร t โดย:
คอมไพล์นิพจน์ปกติด้วยเมธอด compile()
ได้ออบเจ็กต์ Matcher
เรียกเมธอด matcher() บนแต่ละการจับคู่
ตัวอย่าง
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StartExample {
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]";
// สร้างออบเจ็กต์ pattern
Pattern pattern = Pattern.compile(regex);
// จับคู่นิพจน์ที่คอมไพล์ในสตริง
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
int start = matcher.start();
System.out.println(start);
}
}
}ผลลัพธ์
Enter input text: Hello how are you welcome to Tutorialspoint 26 31 42
เนื่องจากตัวอักษร t ปรากฏ 3 ครั้งในสตริงอินพุต คุณจะสังเกตเห็นค่าดัชนี 3 ค่า (แทนดัชนีของแต่ละตัวอักษร)