gpt4 book ai didi

java - string.replaceAll java 不适用于环视正则表达式?

转载 作者:行者123 更新时间:2023-11-29 08:05:36 25 4
gpt4 key购买 nike

我有一个像这样的 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*\=(?={)"

你能给我一些建议来完成这项工作吗?

问候,

山姆

最佳答案

问题是 { 字符是正则表达式语法中的一个特殊字符,它表示一个数量(例如 \d{2} 表示 2 个数字)。在您的情况下,您想要匹配文字 {,这意味着您需要转义 { 字符,因此您需要更改正则表达式为此:"\\w*\\=(?=\\{)";

对我来说,这产生了:

{{first=sam, last=vo}, {hobby1=football, hobby2=swimming}}

关于java - string.replaceAll java 不适用于环视正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11518744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com