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

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

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

Этот класс (Matcher)pattern()Метод��取 и возвращает Pattern (объект), объясняемый текущим Matcher.

Пример 1

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}$

Пример 2

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].*$
Первый символ - цифра
Рекомендуется для просмотра