字符串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
字符串replaceAll()方法报错:java.util.regex.PatternSyntaxException:Unclosed group near index...的更多相关文章
- Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 0 [ ^
		Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character clas ... 
- java.util.regex.PatternSyntaxException: Unclosed character class near index解决办法
		使用str.split("[")时,出现java.util.regex.PatternSyntaxException: Unclosed character class near ... 
- Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 0  解决方法: 要对切割字符进行转义\\
		使用str.split("[",15)时,出现Exception in thread "main" java.util.regex.PatternSyntaxE ... 
- java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \ ^
		1 String a = "1991\12\16"; 2 String[] split = a.split("\\"); 3 System.out.printl ... 
- java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
		使用repalceAll 方法出现java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0异常 ... 
- 异常 java.util.regex.PatternSyntaxException:
		可变参数是在JDK1.5之后出来的一个行特性,也是一个比较好用的东西 想起好多jfinal还有其他框架的查询方法就有好多用到了可变参数,自己也写了个这样的方法 public class Test{ ... 
- 我的Android进阶之旅------>解决错误: java.util.regex.PatternSyntaxException: Incorrect Unicode property
		1.错误描述 今天使用正则表达式验证密码的时候,报了错误 java.util.regex.PatternSyntaxException: Incorrect Unicode property near ... 
- java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0 *&* 解决方法
		java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0*&*^ at java. ... 
- 特殊字符导致用正则表达式进行字符串替换失败,Java replaceAll()方法报错Illegal group reference
		String str = "给商品||?>\\n阳澄湖大闸蟹!@#$%^&*()_+-=?:\",.]\\|~.,\/??\\\\|\\br点赞" Stri ... 
随机推荐
- php redis pipeline用法
			$redis_110 = Redis::connection('redis_110');$redis_85 = Redis::connection('redis_85');$zadd_key_arr ... 
- 48-Python 安装pyautogui失败解决办法
			转载自:https://www.cnblogs.com/SH170706/p/9809830.html Python 安装pyautogui 在Python中使用PyAutoGui模拟键盘和鼠标操作 ... 
- Sql Server 三个很有用的函数
			好久没有写有关SqlServer 数据库方面技术的文章了,正好今天遇到了一个问题,我就把这个当做一个练习记录下来.今天遇到一个麻烦事,详情如下:公司买了一个系统,在这个系统里面有一个“充值卡”的功能, ... 
- Vue中出现Do not use built-in or reserved HTML elements as component id:footer等等vue warn问题
			错误示图: 原因:是因为在本地项目对应文件的<script>中,属性name出现了错误的命名方式,导致浏览器控制台报错! 诸如: name: header . . name: menu ... 
- qsort例子
			#include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> typ ... 
- .net 资源释放(托管资源和非托管资源)
			1.托管资源 像int.float.DateTime等都是托管资源:net中80%的资源都是托管资源: 托管资源的回收通过GC(垃圾回收器)自动释放分配给该对象的内存,但无法预测进行垃圾回收的时间,我 ... 
- 【NIFI】 Apache NiFI 之 ExecuteScript处理(二)
			本例介绍NiFI ExecuteScript处理器的使用,使用的脚本引擎ECMScript 接上一篇[NIFI] Apache NiFI 之 ExecuteScript处理(一) ExecuteScr ... 
- 在Unity5.6.5f1中使用C#7语法
			备忘,记忆力越来越差了,必需把这种琐碎的东西记下来,以防1年后想再用完全没头绪. 之前试过用C#6语法,但是怎么配置操作的完全没印象了. 首先去这下载扩展 https://bitbucket.org/ ... 
- using五大用法
			1.命名空间 using namespace 命名空间;//这样每次使用命名空间中的变量时就不用指定命名空间了 注意:头文件中不应有using命名空间的声明 2.类型别名(C++11) using a ... 
- 从中央仓库下载所想要的jar包
			中央仓库地址:https://mvnrepository.com/ 这边我搜索一个commons-logging包作为例子: 点击下面第二个绿色的comons-logging进入这个页面: 一.win ... 
