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

Java에서의 패턴 pattern 메서드 및 예제

java의java.util.regex패키지는 문자열 시퀀스에서 특정 패턴을 찾기 위한 다양한 클래스를 제공합니다. 이 패키지의 패턴 클래스는 정규 표현식의 컴파일된 표현입니다.

Pattern클래스pattern()메서드는 문자열 형식으로 정규 표현식을 가져와 반환하며, 이 정규 표현식을 사용하여 현재 패턴을 컴파일합니다.

예제1

import java.util.regex.Pattern;
public class PatternExample {
   public static void main(String[] args) {
      String date = "12/09/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);
      if(pattern.matcher(date).matches()) {
         System.out.println("날짜는 유효합니다");
      } else {
         System.out.println("날짜는 유효하지 않습니다");
      }
      //현재 패턴의 정규 표현식 검색
      String regularExpression = pattern.pattern();
      System.out.println("정규 표현식: "+regularExpression);
   }
}

출력 결과

날짜는 유효합니다
정규 표현식: ^(1[0-2]|0[1-9])/(3[01]|[12])[0-9]|0[1-9])/[0-9]{4}$

예제2

public class PatternExample {
   public static void main(String[] args) {
      String input = "Hi my id is 056E1563";
      //그룹을 사용하는 정규 표현식
      String regex = "(.*)?(\\d+)";
      //패턴 객체 생성
      Pattern pattern = Pattern.compile(regex);
      if(pattern.matcher(input).matches()) {
         System.out.println("일치 발견");
      } else {
         System.out.println("일치 발견되지 않음");
      }
      //현재 패턴의 정규 표현식 검색
      String regularExpression = pattern.pattern();
      System.out.println("정규 표현식: "+regularExpression);
   }
}

출력 결과

일치 발견
정규 표현식: (.*)?(\d+)