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

Matcher requireEnd() วิธีการใน Java พร้อม Examples


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

ในกรณีของการจับคู่ requireEnd() เมธอดของคลาส (Matcher) นี้ตรวจสอบว่ามีโอกาสที่ผลการจับคู่จะเป็นเท็จหรือไม่ ในกรณีที่มีอินพุตมากกว่า ในกรณีนี้ เมธอดนี้จะคืนค่า true มิฉะนั้นจะคืนค่าเท็จ

ตัวอย่างเช่น หากคุณกำลังพยายามจับคู่คำสุดท้ายของสตริงอินพุตกับคุณโดยใช้ regex “you$” และหากบรรทัดอินพุตแรกของคุณคือ “hello how are you” คุณอาจมีการจับคู่ แต่ถ้าคุณยอมรับประโยคเพิ่มเติม คำสุดท้ายของบรรทัดใหม่อาจไม่ใช่คำที่กำหนด (ซึ่งก็คือ "คุณ") ทำให้ผลการจับคู่ของคุณเป็นเท็จ ในกรณีดังกล่าว เมธอด requiredEnd() จะคืนค่าเป็น true

ในทำนองเดียวกัน หากคุณพยายามจับคู่อักขระเฉพาะในอินพุตให้พูดว่า # และหากบรรทัดอินพุตแรกของคุณคือ "สวัสดี # คุณเป็นอย่างไรบ้าง" คุณจะมีการจับคู่และข้อมูลที่ป้อนมากขึ้นอาจเปลี่ยนเนื้อหาของตัวจับคู่ แต่กลับไม่เป็นเช่นนั้น ไม่ได้เปลี่ยนผลลัพธ์ที่เป็นจริง ในสถานการณ์ดังกล่าว เมธอด requireEnd() จะคืนค่าเป็นเท็จ

ตัวอย่างที่ 1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RequiredEndExample {
   public static void main( String args[] ) {
      String regex = "you$";
      //Reading input from user
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      //Instantiating the Pattern class
      Pattern pattern = Pattern.compile(regex);
      //Instantiating the Matcher class
      Matcher matcher = pattern.matcher(input);
      //verifying whether a match occurred
      if(matcher.find()) {
         System.out.println("Match found");
      }
      boolean result = matcher.requireEnd();
      if(result) {
         System.out.println("More input may turn the result of the match false");
      } else{
         System.out.println("The result of the match will be true, inspite of more data");
      }
   }
}

ผลลัพธ์

Enter input text:
Hello how are you
Match found
More input may turn the result of the match false

ตัวอย่างที่ 2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RequiredEndExample {
   public static void main( String args[] ) {
      String regex = "[#]";
      //Reading input from user
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      //Instantiating the Pattern class
      Pattern pattern = Pattern.compile(regex);
      //Instantiating the Matcher class
      Matcher matcher = pattern.matcher(input);
      //verifying whether a match occurred
      if(matcher.find()) {
         System.out.println("Match found");
      }
      boolean result = matcher.requireEnd();
      if(result) {
         System.out.println("More input may turn the result of the match false");
      } else{
         System.out.println("The result of the match will be true, inspite of more data");
      }
   }
}

ผลลัพธ์

Enter input text:
Hello# how# are you
Match found
The result of the match will be true, in spite of more data