English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Метод hitEnd() с примерами в Java Matcher

методиз java.util.regex.Matcherкласс представляет собой движок, выполняющий различные операции совпадения. Этот класс не имеет конструктора и может быть использованmatches()класс java.util.regex.Pattern создает/получает объект этого класса.

методhitEnd()проверяет, достигли ли мы конца ввода данных, и возвращает true, если да,否则 false. Если этот метод возвращает true, то это означает, что дополнительные данные ввода могут изменить результат совпадения.

Например, если вы пытаетесь использовать регулярное выражение "you $", чтобы соответствовать последнему слову вводимой строки, и если ваша первая строка ввода является "你好,你好吗", то может быть совпадение, но если вы принимаете больше предложений с новой строки, последний словосочетание может не быть необходимым словом (т.е. "you"), и результат совпадения будет ложно. В этом случае,该方法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$";
      //Считывает ввод от пользователя
      Scanner sc = new Scanner(System.in);
      System.out.println("Введите текст ввода:");
      String input = sc.nextLine();
      //Инстанцирование класса Pattern
      Pattern pattern = Pattern.compile(regex);
      //Инстанцирование класса Matcher
      Matcher matcher = pattern.matcher(input);
      //Проверка, произошло ли совпадение
      if(matcher.find()) {
         System.out.println("Найден подход");
      }
      boolean result = matcher.hitEnd();
      if(result) {
         System.out.println("Более входных данных может сделать результат подхода ложным");
      }
         System.out.println("Результат подхода будет true, несмотря на более данные");
      }
   }
}

Результат вывода

Введите текст ввода:
Привет, как дела?
Найден подход
Более входных данных может сделать результат подхода ложным
Рекомендуем к просмотру