Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

คลาส PatternSyntaxException ในนิพจน์ทั่วไปของ Java


PaternSyntaxException class แสดงถึงข้อยกเว้นที่ไม่ได้ตรวจสอบในกรณีที่เกิดข้อผิดพลาดทางไวยากรณ์ในสตริง regex คลาสนี้มีสามวิธีหลักคือ −

  • 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: [