我有一个这样的json字符串:
string = "{name={first=sam, last=vo}, hobbies={hobby1=football, hobby2=swimming}}"我想删除"name=“和"hobbies=",这样我就可以使用这个模式:\w*\=(?={) ->tested using editPadPro
但是,当我在java中使用全部替换时:
String pattern = "\\w*\\=(?={)";
String removedParent = string.replaceAll(pattern, "");我收到了这个错误消息
"Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 7
\w*\=(?={)"你能给我一些建议来完成这项工作吗?
致以敬意,
相同的
发布于 2012-07-17 16:36:02
问题在于,{字符是正则表达式语法中的一个特殊字符,它表示一个数量(例如,\d{2}表示2位数)。在本例中,您希望匹配文字{,这意味着需要对{字符进行转义,因此需要将正则表达式更改为:"\\w*\\=(?=\\{)";。
对我来说,这产生了:
{{first=sam,last=vo},{hobby1=football,hobby2=swimming}}
发布于 2012-07-17 16:39:32
java.util.regex.PatternSyntaxException: Illegal repetition这是因为你在"\\w*\\=(?={)"中的"{“。"{“和"}”是表示字符重复的特殊字符,您可能知道...
试着像那个"\\w*\\=(?=\\{)"那样逃脱它。由于您正在使用json,请考虑使用JSON-Parser,如下所示:
https://stackoverflow.com/questions/11518744
复制相似问题