English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ниже приведен регулярный выражение для совпадения даты в формате dd-MM-yyyy.
^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$
Совпадение даты в строке в данном формате.
Компилироватьcompile()
выражения метода класса Pattern.
Пропустить необходимую строку ввода в качествеmatcher()
Параметр метода класса Pattern, получающий объект Matcher.
matches()
Если совпадение произошло, то метод класса Matcher возвращает true, в противном случае false. Таким образом, этот метод вызывается для проверки данных.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class MatchingDate { public static void main(String[] args) { String date = "01/12/2019"; String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$"; //Создание объекта шаблона Pattern pattern = Pattern.compile(regex); //Совпадение строки с уже скомпилированным шаблоном Matcher matcher = pattern.matcher(date); boolean bool = matcher.matches(); if(bool) { System.out.println("Дата действительна"); } else { System.out.println("Дата недействительна"); } } }
Результат вывода
Дата действительна
matches()
Метод класса String принимает регулярное выражение и сравнивает его с текущей строкой, возвращает true, если совпадает,否则 false. Таким образом, чтобы проверить, является ли указанная дата (в строковом формате) необходимым форматом -
Получение строки даты.
matches()
Вызов метода, передав ему регулярное выражение в качестве параметра.
import java.util.Scanner; public class Just { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Введите ваше имя:"); String name = sc.nextLine(); System.out.println("Введите дату рождения:"); String dob = sc.nextLine(); // Регулярное выражение принимает дату в формате MM-DD-YYY String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$"; boolean result = dob.matches(regex); if(result) { System.out.println("Указанная дата рождения действительна"); } else { System.out.println("Указанная дата рождения недействительна"); } } }
Введите ваше имя: Janaki Введите дату рождения: 26.09.1989 Указанная дата рождения недействительна
Введите ваше имя: Janaki Введите дату рождения: 26.09.1989 Указанная дата рождения действительна