패턴 클래스의 컴파일 메소드는 두 개의 매개변수를 받습니다 -
- 정규 표현식을 나타내는 문자열 값입니다.
- 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