java.util.regex.PatternSyntaxException类表示抛出的未经检查的异常,以指示正则表达式模式中的语法错误。
以下是java.util.regex.PatternSyntaxException类的声明
public class PatternSyntaxException extends IllegalArgumentException
Sr.No | Method & Remark |
---|---|
1 |
PatternSyntaxException(String desc, String regex, int index) 构造此类的新实例。 |
Sr.No | Method & Remark |
---|---|
1 |
String getDescription() 检索错误的说明。 |
2 |
int getIndex() 检索错误索引。 链接:https://www.learnfk.comhttps://www.learnfk.com/javaregex/javaregex-patternsyntaxexception.html 来源:LearnFk无涯教程网 |
3 |
String getMessage() 返回一个多行字符串,其中包含语法错误及其索引的说明、错误的正则表达式模式以及模式内错误索引的可视指示。 |
4 |
String getPattern() 检索错误的正则表达式模式。 |
下面的示例显示java.util.regex.Pattern.PatternSyntaxException类方法的用法。
package com.learnfk; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; public class PatternSyntaxExceptionDemo { private static String REGEX="["; private static String INPUT="The dog says meow " + "All dogs say meow."; private static String REPLACE="cat"; public static void main(String[] args) { try{ Pattern pattern=Pattern.compile(REGEX); //获取匹配器对象 Matcher matcher=pattern.matcher(INPUT); INPUT=matcher.replaceAll(REPLACE); } catch(PatternSyntaxException e){ System.out.println("PatternSyntaxException: "); System.out.println("Remark: "+ e.getRemark)); System.out.println("Index: "+ e.getIndex()); System.out.println("Message: "+ e.getMessage()); System.out.println("Pattern: "+ e.getPattern()); } } }
让无涯教程编译并运行上述程序,这将产生以下输出-
PatternSyntaxException: Remark: Unclosed character class Index: 0 Message: Unclosed character class near index 0 [ ^ Pattern: [
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)