Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java의 정규식 메타 문자를 리터럴 문자로 일치시키는 방법.

<시간/>

패턴 클래스의 컴파일 메소드는 두 개의 매개변수를 받습니다 -

  • 정규 표현식을 나타내는 문자열 값입니다.
  • Pattern 클래스의 정수 값 필드입니다.

필드의 LITERAL은 패턴의 리터럴 구문 분석을 가능하게 합니다. 즉, 모든 정규 표현식 메타 문자와 이스케이프 시퀀스에는 리터럴 문자로 취급되는 특별한 의미가 없습니다. 따라서 정규식 메타 문자를 일반 문자와 일치시켜야 하는 경우 정규식과 함께 compile() 메서드에 플래그 값으로 이를 전달해야 합니다.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String[] args) {
      System.out.println("Enter input data: ");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      String regex = "^[0-9]";
      //Creating a Pattern object
      Pattern pattern = Pattern.compile(regex, Pattern.LITERAL);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
         System.out.println(matcher.group());
      }
      System.out.println("Number of matches: "+count);
   }
}

출력 1

Enter input data:
9848022338
Number of matches: 0

출력 2

Enter input data:
^[0-9]
^[0-9]
Number of matches: 1