PatternSyntaxException类(java JDK源码记录)

Stella981
• 阅读 567
  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 }
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
待兔 待兔
6个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
java基础知识随身记
2018年11月12日20:51:35一、基础知识:1、JVM、JRE和JDK的区别:JVM(JavaVirtualMachine):java虚拟机,用于保证java的跨平台的特性。  java语言是跨平台,jvm不是跨平台的。JRE(JavaRuntimeEnvironment):java的运行环境,包括jvmjava的核心类
Wesley13 Wesley13
3年前
Java日期时间API系列31
  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前
Stella981 Stella981
3年前
Discuz X3.2源码解析 discuz_application类(转自百度)
1.discuz\_application在/source/class/discuz/discuz\_application.php中。!DiscuzX3.2源码解析discuz_application类(https://oscimg.oschina.net/oscnet/99b35d79caf70b7c74ad0838d6
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这