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

Java의 패턴 flags() 메서드 및 예제

java.regex패키지의 패턴 클래스는 정규 표현식의 컴파일된 표현입니다.

이 클래스의compile()메서드는 정규 표현식을 나타내는 문자열 값을 받아들이고 반환합니다.Pattern객체는 다음과 같은 신호입니다.

static Pattern compile(String regex)

이 메서드의 또 다른 버전은 플래그를 나타내는 정수 값을 받아들이며, 두 매개변수를 가진 compile 메서드의 신호는 다음과 같습니다.

static Pattern compile(String regex, int flags)

패턴클래스는 각 영역을 대표하는 여러 가지 플래그를 제공합니다.

순번컬럼 및 설명
1CANON_EQ
두 문자 규범이 규범적으로 일치할 때만그때만일치시킵니다.
2CASE_INSENSITIVE
대소문자를 구분하지 않고 문자를 일치시킵니다.
3주석
공백과 모델 주석을 허용합니다.
4DOTALL
dotall 모드를 활성화합니다. 즉, '.' 문자 기호는 모든 문자에 대해 일치합니다. 행 종료 문자도 포함됩니다.
5LITERAL
모델의 문자 분석을 활성화합니다. 즉, 입력 시퀀스 중의 모든 특수 문자와 escape 시퀀스가 문자 문자로 간주됩니다.
6MULTILINE
다중 행 모드를 활성화합니다. 즉, 전체 입력 시퀀스를 단一行으로 간주합니다.
7UNICODE_CASE
활성화할 수 있는인식Unicode의 대소문자 병합, 즉 CASE_INSENSITIVE와 함께 사용할 때. Unicode 문자를 검색하는 정규 표현식에서 두 가지 경우의 Unicode 문자가 모두 일치합니다.
8UNICODE_CHARACTER_CLASS
예약된 문자 클래스와 POSIX 문자 클래스의 Unicode 버전을 활성화합니다.
9UNIX_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