English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Текст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("Дата не действительна"); } } }
Введите строку даты в формате [dd/mm/yyy]: 01/12/2019 Дата действительна
Введите строку даты в формате [dd/mm/yyy]: 2019-21-12 Дата не действительна