Java : PatternSyntaxException (正規表現) - API使用例
PatternSyntaxException (Java SE 22 & JDK 22) の使い方まとめです。
ほとんどのメソッドにサンプルコードがあります。
API仕様書のおともにどうぞ。
概要
PatternSyntaxException は、正規表現に構文エラーがあるときに発生する非チェック例外です。
// OK
final var pattern = Pattern.compile("[a-z]");
final var predicate = pattern.asPredicate();
System.out.println(predicate.test("abc")); // true
System.out.println(predicate.test("123")); // false
// NG
try {
var _ = Pattern.compile("[a-z");
} catch (PatternSyntaxException e) {
System.out.println("PatternSyntaxException! : " + e.getMessage());
}
// 結果
// ↓
//PatternSyntaxException! : Unclosed character class near index 3
//[a-z
// ^
コンストラクタ
PatternSyntaxException (String desc, String regex, int index)
final var e = new PatternSyntaxException("abc", "xyz", 10);
System.out.println(e);
// 結果
// ↓
//java.util.regex.PatternSyntaxException: abc near index 10
//xyz
System.out.println(e.getDescription()); // abc
System.out.println(e.getPattern()); // xyz
System.out.println(e.getIndex()); // 10
メソッド
String getDescription ()
final var e = new PatternSyntaxException("abc", "xyz", 10);
System.out.println(e);
// 結果
// ↓
//java.util.regex.PatternSyntaxException: abc near index 10
//xyz
System.out.println(e.getDescription()); // abc
System.out.println(e.getPattern()); // xyz
System.out.println(e.getIndex()); // 10
int getIndex ()
final var e = new PatternSyntaxException("abc", "xyz", 10);
System.out.println(e);
// 結果
// ↓
//java.util.regex.PatternSyntaxException: abc near index 10
//xyz
System.out.println(e.getDescription()); // abc
System.out.println(e.getPattern()); // xyz
System.out.println(e.getIndex()); // 10
String getMessage ()
final var e = new PatternSyntaxException("abc", "xyz", 10);
System.out.println(e.getMessage());
// 結果
// ↓
//abc near index 10
//xyz
String getPattern ()
final var e = new PatternSyntaxException("abc", "xyz", 10);
System.out.println(e);
// 結果
// ↓
//java.util.regex.PatternSyntaxException: abc near index 10
//xyz
System.out.println(e.getDescription()); // abc
System.out.println(e.getPattern()); // xyz
System.out.println(e.getIndex()); // 10
Throwableで宣言されたメソッド
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
「Java API 使用例 : Throwable」をご参照ください。
関連記事
- API 使用例