Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เมธอด start() ของ Matcher ใน Java พร้อมตัวอย่าง

คลาส 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 ค่า (แทนดัชนีของแต่ละตัวอักษร)