题主试试,测试正常。有帮助或启发麻烦点个采纳【本回答右上角】,谢谢~~
import java.util.regex.Pattern;
import java.util.regex.Matcher;
class t{
public static void main(String[]args){
String s="insert into table(\"id\",\"name\",\"remark\") values ('1','test','[{\"key1\":\"value1\",\"key2\":\"value2\"}]')\n"+
"insert into table(\"id\",\"name\",\"remark\") values ('1','test','[{\"key1\":\"value1\",\"key2\":\"value2\"}]')\n"+
"insert into table(\"id\",\"name\",\"remark\") values ('1','test','[{\"key1\":\"value1\",\"key2\":\"value2\"}]')\n";
System.out.println(s);
System.out.println("--------------------");
String pattern = "\\([^\\)]+\\)\\s*values";
Pattern p = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(s);
StringBuffer sb = new StringBuffer();
while (m.find())
{
String key = m.group(0);
m.appendReplacement(sb, key.replace("\"",""));
}
m.appendTail(sb);
s=sb.toString();
System.out.println(sb.toString());
}
}