zoukankan      html  css  js  c++  java
  • 字符串replaceAll()方法报错:java.util.regex.PatternSyntaxException:Unclosed group near index...

    Unclosed group near index错误

    之前自己写的一个模块在项目上线后最近频频出现tomcat崩掉的情况,从log看出现如下的报错信息:

    java.util.regex.PatternSyntaxException: Unclosed group near index 85
    \u521B\u4E1A\u5927\u53A6(\u6D59\u6C5F\u897F\u6EAA\u6821\u533A\u65C1\uFF09
    at java.util.regex.Pattern.error(Pattern.java:1955)
    ......

    从报错信息可以看出是正则出问题了,具体什么问题通过搜索发现是如下原因导致的:

    在正则表达式中,有个“捕获组”的概念,其使用了小括号;因此分析,当正则表达式解析到左括号时,没有发现对应的右括号,从而报错。

      如上报错信息中的红色左括号,就是导致问题的地方,右括号是红色的对应的unicode编码(\uFF09),这种情况也是没有预料到的,对于这个我的解决的办法就是把左括号替换成对应的unicode编码,或者直接替换成空字符串、成对的左右括号都是可以的,具体看情况而言。

      而且对于中括号[],也存在同样的问题,需要注意。

    正则中的转意符""在Java语言中的表示

      因为""在正则表达式中是转意符,在需要描述一个已经被正则表达式使用的特殊字符(即元字符,如^、$、*、+、?等)时,使用""将其转变为原本的意思,如果要表示反斜杠本身,如果是写成正则表达式,在需要写成"\\",如果是普通字符串,写成"\"即可。

    ...希望今天搬砖是顺利的一天...^_^

    参考文献:https://blog.csdn.net/wangjunjun2008/article/details/39479423

  • 相关阅读:
    JSON
    css3之自定义字体
    css3之2D转换
    JavaScript---认识JavaScipt
    学JS必看-JavaScript数据结构深度剖析
    Vue 过渡
    Vue 表单控件绑定
    Vue 方法与事件处理器
    Vue 列表渲染
    Vue 条件渲染
  • 原文地址:https://www.cnblogs.com/volcano-liu/p/9143340.html
Copyright © 2011-2022 走看看