English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java.regex패키지의 패턴 클래스는 정규 표현식의 컴파일된 표현입니다.
이 클래스의compile()메서드는 정규 표현식을 나타내는 문자열 값을 받아들이고 반환합니다.Pattern객체는 다음과 같은 신호입니다.
static Pattern compile(String regex)
이 메서드의 또 다른 버전은 플래그를 나타내는 정수 값을 받아들이며, 두 매개변수를 가진 compile 메서드의 신호는 다음과 같습니다.
static Pattern compile(String regex, int flags)
이패턴클래스는 각 영역을 대표하는 여러 가지 플래그를 제공합니다.
순번 | 컬럼 및 설명 |
---|---|
1 | CANON_EQ 두 문자 규범이 규범적으로 일치할 때만그때만일치시킵니다. |
2 | CASE_INSENSITIVE 대소문자를 구분하지 않고 문자를 일치시킵니다. |
3 | 주석 공백과 모델 주석을 허용합니다. |
4 | DOTALL dotall 모드를 활성화합니다. 즉, '.' 문자 기호는 모든 문자에 대해 일치합니다. 행 종료 문자도 포함됩니다. |
5 | LITERAL 모델의 문자 분석을 활성화합니다. 즉, 입력 시퀀스 중의 모든 특수 문자와 escape 시퀀스가 문자 문자로 간주됩니다. |
6 | MULTILINE 다중 행 모드를 활성화합니다. 즉, 전체 입력 시퀀스를 단一行으로 간주합니다. |
7 | UNICODE_CASE 활성화할 수 있는인식Unicode의 대소문자 병합, 즉 CASE_INSENSITIVE와 함께 사용할 때. Unicode 문자를 검색하는 정규 표현식에서 두 가지 경우의 Unicode 문자가 모두 일치합니다. |
8 | UNICODE_CHARACTER_CLASS 예약된 문자 클래스와 POSIX 문자 클래스의 Unicode 버전을 활성화합니다. |
9 | UNIX_LINES این نشانه، Unix 행 모드를 활성화합니다. |
이 클래스의flags()메서드는 현재 패턴에서 사용하는 플래그를 반환합니다.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class COMMENTES_Example { }} 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 형식이 날짜를 받아들입니다1"(-2]|0[1-9])/ String regex = "^( + # Month\n"3"(1[012]|[-9]|0[1-9])/ # Date\n" + "[0-9]{4}$ # Year"; //Pattern 객체를 생성합니다 Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS); //Matcher 객체를 생성합니다 Matcher matcher = pattern.matcher(dob); boolean result = matcher.matches(); if(result) { System.out.println("주어진 생일 날짜는 유효합니다"); } else { System.out.println("주어진 생일 날짜는 유효하지 않습니다"); } System.out.println("사용된 Flag: ");+ pattern.flags()); } }
출력 결과
이름을 입력하세요: Krishna 생일 날짜를 입력하세요: 09/26/1989 주어진 생일 날짜는 유효합니다 사용된 Flag: 4