Matcher hitEnd() Java 方法附带示例


java.util.regex.Matcher 类表示可执行各种匹配操作的引擎。此类无构造函数,可使用 java.util.regex.Pattern 类的 matches() 方法创建/获取此类的对象。

hitEnd() 方法验证在上一次匹配期间输入数据是否已达到末尾,如果达到,则返回 true,否则返回 false。如果此方法返回 true,则表明更多输入数据可能会改变匹配结果。

例如,如果您尝试通过 regex “you$” 匹配输入字符串的最后一个单词,而您的第一个输入行为 “hello how are you”,则您可能匹配成功,但是,如果您接受更多句子,新行的最后一个单词可能不为所需单词(即 “you”),导致您的匹配结果为 false。在这种情况下,hitEnd() 方法返回 true。

示例

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HitEndExample {
   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.hitEnd();
      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

更新于: 2019-11-20

78 浏览量

开始你的 职业生涯

完成课程以获得认证

开始
广告