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

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

คลาส java.util.regex.Matcher แทนเครื่องจักรที่ดำเนินการจับคู่ต่างๆ ไม่มีคอนสตรัคเตอร์สำหรับคลาสนี้ คุณสามารถสร้าง/รับออบเจ็กต์ของคลาสนี้ได้โดยใช้เมธอด matcher() ของคลาส java.util.regex.Pattern

เมธอด end() ของคลาส Matcher ส่งคืนอフセตหลังจากการจับคู่ล่าสุดที่แสดงโดยออบเจ็กต์ปัจจุบัน

ซับนิพจน์ "[...]" จับคู่ตัวอักษรที่ระบุภายในวงเล็บในสตริงอินพุต ในตัวอย่างต่อไปนี้ใช้เพื่อจับคู่ตัวอักษร t โดย:

  • คอมไพล์นิพจน์ปกติด้วยเมธอด compile()

  • ได้ออบเจ็กต์ 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]"; 
        // สร้างออบเจ็กต์ pattern 
        Pattern pattern = Pattern.compile(regex); 
        // จับคู่นิพจน์ที่คอมไพล์ในสตริง 
        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 ปรากฏ 3 ครั้งในสตริงอินพุต คุณจะสังเกตเห็นค่าอフセต 3 ค่า (แทนตำแหน่งในสตริงอินพุตหลังการปรากฏแต่ละครั้ง)