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

Java 정규식의 PatternSyntaxException 클래스

<시간/>

PatternSyntaxException 클래스는 정규식 문자열에 구문 오류가 발생한 경우 throw되는 확인되지 않은 예외를 나타냅니다. 이 클래스에는 세 가지 주요 메서드가 포함되어 있습니다. -

  • getDescription() − 오류에 대한 설명을 반환합니다.

  • getIndex() − 오류 인덱스를 반환합니다.

  • getPattern() − 오류가 있는 정규식 패턴을 반환합니다.

  • getMessage() − 오류, 인덱스, 오류가 있는 정규식 패턴, 패턴의 오류 표시를 결합한 완전한 메시지를 반환합니다.

예시

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
public class PatternSyntaxExceptionExample {
   public static void main(String args[]) {
      //Reading String from user
      System.out.println("Enter a String");
      Scanner sc = new Scanner(System.in);String input = sc.nextLine();
      //Regular expression to match first digits of a word
      String regex = "["; //\\s+
      //Compiling the regular expression
      try {
         Pattern pattern = Pattern.compile(regex);
         //Retrieving the matcher object
         Matcher matcher = pattern.matcher(input);
         //Replacing all space characters with single space
         String result = matcher.replaceAll(" ");
         System.out.print("Text after removing unwanted spaces: \n"+result);
      }catch(PatternSyntaxException ex){
         System.out.println("Description: "+ex.getDescription());
         System.out.println("Index: "+ex.getIndex());
         System.out.println("Message: "+ex.getMessage());
         System.out.println("Pattern: "+ex.getPattern());
      }
   }
}

출력

Enter a String
this is a [sample text [
Description: Unclosed character class
Index: 0
Message: Unclosed character class near index 0
[
^
Pattern: [
]