Java PatternSyntaxException 類在 java.util.regex 包下定義,它專注於表示正則表達式模式中的語法錯誤的未經檢查的異常。可以使用以下語法聲明此類。
用法:
public class PatternSyntaxException extends IllegalArgumentException
該類具有以下構造函數:
PatternSyntaxException(String desc, String regex, int index) // It instantiates a new object of this class
PatternSyntaxException getDescription()方法
Java 提供了 Regular Expressions 或 Regex(簡稱)API,用於創建字符串模式以在 Java 中搜索、操作和編輯字符串。該方法用於獲取正則表達式模式中的錯誤說明。該方法具有以下語法,
用法:
error.getDescription()
這裏,錯誤是PatterSyntaxException類的對象
返回類型:該方法的返回類型是字符串,即錯誤的說明。
示例 1:在此示例中,我們通過調用 Pattern 類的 compile() 方法定義了一個模式。它接受正則表達式(“[“) 作為參數並生成模式。然後,我們在 Pattern 類的實例化對象上調用 matcher() 方法。它接受輸入作為參數。這將檢查正則表達式 輸入字符串中的(模式)。此外,我們在匹配器對象上調用了replaceAll()方法。這將替換輸入序列中與給定替換字符串的模式匹配的每個子序列。
請注意,我們已將這些語句捆綁在 Try 塊內。在這種情況下,它將在正則表達式模式中引發語法錯誤,並通過 catch 塊進行處理。 catch 塊接受 PatternSyntaxException 類的對象,最終我們調用了該對象的 getDescription() 方法。
Java
// Java program to illustrate the working of getIndex()
// method
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
class GFG {
private static String regularExpression = "[";
private static String input
= "GeeksforGeeks "
+ "is a learning platform.";
private static String replace = "Hi";
public static void main(String[] args)
{
try {
// Compile the pattern
Pattern pattern
= Pattern.compile(regularExpression);
// To get a matcher object
Matcher matcher = pattern.matcher(input);
input = matcher.replaceAll(replace);
}
catch (PatternSyntaxException e) {
// Print the description of the error occurred in
// the pattern
System.out.println("Description: "
+ e.getDescription());
}
}
}
Description: Unclosed character class
示例 2:在此示例中,我們通過調用 Pattern 類的 compile() 方法定義了一個模式。它接受正則表達式(“{”) 作為參數並生成一個模式。然後,我們在 Pattern 類的實例化對象上調用 matcher() 方法。它接受輸入作為參數。這將檢查輸入字符串中的正則表達式(模式)是否等於“Geeks”+“is a Learning platform.”。此外,我們在匹配器對象上調用了replaceAll()方法。這將替換輸入序列中與給定替換字符串的模式匹配的每個子序列。
請注意,我們已將這些語句捆綁在 Try 塊內。在這種情況下,它將在正則表達式模式中引發語法錯誤,並通過 catch 塊進行處理。 catch 塊接受 PatternSyntaxException 類的對象,最終我們調用了該對象的 getDescription() 方法。
Java
// Java program to illustrate the working of getIndex()
// method
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
class GFG {
// Declaring a string variable to store the regular
// expression
private static String regularExpression = "{";
private static String input
= "GeeksforGeeks "
+ "is a learning platform.";
private static String replace = "Hello";
public static void main(String[] args)
{
try {
// Compile the pattern
Pattern pattern
= Pattern.compile(regularExpression);
// To get a matcher object
Matcher matcher = pattern.matcher(input);
input = matcher.replaceAll(replace);
}
catch (PatternSyntaxException e) {
// Print the index in the error of the pattern
System.out.println("Description: "
+ e.getDescription());
}
}
}
Description: Illegal repetition
相關用法
- Java PatternSyntaxException getIndex()用法及代碼示例
- Java PatternSyntaxException getMessage()用法及代碼示例
- Java Pattern asPredicate()用法及代碼示例
- Java Pattern compile(String)用法及代碼示例
- Java Pattern flags()用法及代碼示例
- Java Pattern matcher(CharSequence)用法及代碼示例
- Java Pattern pattern()用法及代碼示例
- Java Pattern quote(String)用法及代碼示例
- Java Pattern splitAsStream()用法及代碼示例
- Java Pattern split(CharSequence)用法及代碼示例
- Java Pattern toString()用法及代碼示例
- Java Pattern split(CharSequence,int)用法及代碼示例
- Java Pattern matches(String ,CharSequence)用法及代碼示例
- Java Pattern compile(String,int)用法及代碼示例
- Java Pattern用法及代碼示例
- Java Path compareTo()用法及代碼示例
- Java Path endsWith()用法及代碼示例
- Java Path equals()用法及代碼示例
- Java Path getFileName()用法及代碼示例
- Java Path getFileSystem()用法及代碼示例
- Java Path getNameCount()用法及代碼示例
- Java Path getName(int)用法及代碼示例
- Java Path getParent()用法及代碼示例
- Java Path getRoot()用法及代碼示例
- Java Path hashCode()用法及代碼示例
注:本文由純淨天空篩選整理自bhuwanesh大神的英文原創作品 Java PatternSyntaxException Class getDescription() Method with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。