PatternSyntaxException类(java JDK源码记录)
Posted zhangyishu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PatternSyntaxException类(java JDK源码记录)相关的知识,希望对你有一定的参考价值。
1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 * 16 * 17 */ 18 19 package java.util.regex; 20 21 /** 22 * Unchecked exception thrown to indicate a syntax error in a 23 * regular-expression pattern. 24 * 25 * @author unascribed 26 * @since 1.4 27 * @spec JSR-51 28 */ 29 30 public class PatternSyntaxException 31 extends IllegalArgumentException 32 33 private static final long serialVersionUID = -3864639126226059218L; 34 35 private final String desc; 36 private final String pattern; 37 private final int index; 38 39 /** 40 * Constructs a new instance of this class. 41 * 42 * @param desc 43 * A description of the error 44 * 45 * @param regex 46 * The erroneous pattern 47 * 48 * @param index 49 * The approximate index in the pattern of the error, 50 * or @code -1 if the index is not known 51 */ 52 public PatternSyntaxException(String desc, String regex, int index) 53 this.desc = desc; 54 this.pattern = regex; 55 this.index = index; 56 57 58 /** 59 * Retrieves the error index. 60 * 61 * @return The approximate index in the pattern of the error, 62 * or @code -1 if the index is not known 63 */ 64 public int getIndex() 65 return index; 66 67 68 /** 69 * Retrieves the description of the error. 70 * 71 * @return The description of the error 72 */ 73 public String getDescription() 74 return desc; 75 76 77 /** 78 * Retrieves the erroneous regular-expression pattern. 79 * 80 * @return The erroneous pattern 81 */ 82 public String getPattern() 83 return pattern; 84 85 86 /** 87 * Returns a multi-line string containing the description of the syntax 88 * error and its index, the erroneous regular-expression pattern, and a 89 * visual indication of the error index within the pattern. 90 * 91 * @return The full detail message 92 */ 93 public String getMessage() 94 StringBuilder sb = new StringBuilder(); 95 sb.append(desc); 96 if (index >= 0) 97 sb.append(" near index "); 98 sb.append(index); 99 100 sb.append(System.lineSeparator()); 101 sb.append(pattern); 102 if (index >= 0 && pattern != null && index < pattern.length()) 103 sb.append(System.lineSeparator()); 104 for (int i = 0; i < index; i++) sb.append(‘ ‘); 105 sb.append(‘^‘); 106 107 return sb.toString(); 108 109 110
以上是关于PatternSyntaxException类(java JDK源码记录)的主要内容,如果未能解决你的问题,请参考以下文章
Java正则表达式介绍和使用规则(Pattern类Matcher类PatternSyntaxException类)
标记化错误:java.util.regex.PatternSyntaxException,悬空元字符“*”
PatternSyntaxException:在 Java 中使用正则表达式时出现非法重复
带有 UCanAccess 的 java.util.regex.PatternSyntaxException
java.util.regex.PatternSyntaxException:索引附近的正则表达式模式中的语法错误
java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 ^