字符串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 ...
 
随机推荐
- NoSql 数据库理解
			
主要分类: 键值(Key-Value)存储数据库 这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据.Key/value模型对于IT系统来说的优势在于简单.易部署.但是 ...
 - 使用jmail发送短信
			
原文链接 https://blog.csdn.net/sdaujsj1/article/details/79248469 pom <!-- https://mvnrepository.com/a ...
 - cmd输入appium-doctor,运行时提示'node'不是内部或外部的命令
			
一.提示'node'不是内部或外部命令,先按照下面步骤操作: 1.设置APPIUM_HOME系统变量,值为当前appium安装目录,例如:D:\software_install\Appium 2.设置 ...
 - maven +bootstrap+ssm
			
http://blog.csdn.net/yangwenxue_admin/article/details/71757505
 - 连接hive
			
bin/hiveserver2 nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err & ...
 - ABP框架系列之二十六:(EventBus-Domain-Events-领域事件)
			
In C#, a class can define own events and other classes can register it to be notified when something ...
 - 延迟执行(Invoke 函数)和消息发送(SendMessage 函数)
			
Invoke 函数需要继承 MonoBehaviour 类后才能使用. Invoke(string str,float a):a 秒后执行名为 str 函数(只会调用一次). Invoke(strin ...
 - GIS中空间数据和非空间数据
 - 配置 npm 缓存目录,防止占满系统版
			
通过命令编辑缓存的路径配置: npm config edit 内如如: 指定到系统盘之外的路径,如 d: 盘:然后将原来目录中已缓存的内如剪切过来~ Notice(2019.3.15): 截图中路径含 ...
 - 有关PHPhash算法
			
https://www.cnblogs.com/shangzekai/p/4444169.html