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

Java의 패턴 주석 필드(예제 포함)

Pattern 클래스의 COMMENTS 필드는 공백과 패턴에 있는 주석을 허용합니다. 이 값을 사용할 때compile()메서드의 기호 값이 있을 때, 주어진 패턴에 있는 공백과 #으로 시작하는 주석은 무시됩니다.

예제1

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 input = sc.nextLine();
      //숫자를 찾는 정규 표현식
      String regex = "\\d #ignore this comment\n";
      //정규 표현식을 컴파일합니다
      Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS);
      //검색 매치어 객체
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      String result = "";
      while (matcher.find()) {
         count++;
         result = result+matcher.group();
      }
      System.out.println("주어진 텍스트의 자릿수: "+count);
   }
}

출력 결과

입력 데이터를 입력하세요:
샘플1 텍스트2 와 함께3 숫자4 에서5 사이6
주어진 텍스트의 자릿수 6

예제2

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 형식이 날짜를 받아들입니다
      String regex = "^(1[0-2]|0[1-9])/
         # For Month
" + "(3[01]|[12][0-9]|0[1-9])/
         # For Date
" + "[0-9]{4$# For 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("주어진 생일 날짜가 유효하지 않습니다");
      }
   }
}

출력 결과

이름을 입력하세요:
Krishna
생일 날짜를 입력하세요:
09/26/1989
주어진 생일 날짜가 유효합니다