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

Метод matchs() PATTERN в Java и примеры

Текстjavajava.util.regex

Пакет предоставляет различные классы для поиска специфических шаблонов в строке. Класс шаблона пакета это компилированное представление регулярных выражений.Match()Метод класса шаблона принимает -

  • Представляет строковое значение регулярного выражения.

  • CharSequenceОбъект класса, представляющий вводимую строку.

При вызове этого метода он сравнивает строку ввода с регулярным выражением. Этот метод возвращает булево значение, true, если совпадение,否则 false.

Пример

import java.util.Scanner;
import java.util.regex.Pattern;
public class MatchesExample {
   public static void main(String[] args) {
      // Получение даты
      Scanner sc = new Scanner(System.in);
      System.out.println("Введите строку даты в формате [dd/mm/yyy]: ");
      String date = sc.next();
      String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
      // Создание объекта шаблона
      boolean result = Pattern.matches(regex, date);
      if(result) {
         System.out.println("Дата действительна");
      } else {
         System.out.println("Дата не действительна");
      }
   }
}

Вывод 1

Введите строку даты в формате [dd/mm/yyy]:
01/12/2019
Дата действительна

Вывод 2

Введите строку даты в формате [dd/mm/yyy]:
2019-21-12
Дата не действительна