English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Этотjava.util.regex.MatcherЭтот класс представляет собой движок, выполняющий различные операции соответствия. Этот класс не имеет конструктора, можно использоватьmatches()
Метод класса java.util.regex.Pattern создает/получает объект этого класса.
Этот класс (Matcher)pattern()Метод��取 и возвращает Pattern (объект), объясняемый текущим Matcher.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PatternExample { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Введите дату вашего рождения (MM/DD/YYYY)"); String date = sc.next(); 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 matcher = pattern.matcher(date); //Проверка даты if(matcher.matches()) System.out.println("Дата действительна"); else System.out.println("Дата недействительна"); //Ищет используемый шаблон Pattern p = matcher.pattern(); System.out.println("Pattern используется для соответствия заданной даты: "+p); } }
Результат вывода
Введите дату вашего рождения 01/21/2019 Дата действительна Pattern используется для соответствия заданной даты: ^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PatternExample { public static void main(String args[]) { //Считывает строку от пользователя System.out.println("Enter a String"); Scanner sc = new Scanner(System.in); String input = sc.next(); //Регулярное выражение для соответствия слова, начинающегося с цифры String regex = "^[0-9].*$"; //Компилирование регулярного выражения Pattern pattern = Pattern.compile(regex); //Извлечение объекта маркера Matcher matcher = pattern.matcher(input); Pattern p = matcher.pattern(); System.out.println("Шаблон, используемый для соответствия введенной строки: "+p); //Проверка на соответствие if(matcher.matches()) System.out.println("Первый символ - цифра"); else System.out.println("Первый символ - не цифра"); } }
Результат вывода
Введите строку 2sample Шаблон, используемый для соответствия введенной строки: ^[0-9].*$ Первый символ - цифра