我正在尝试使用Java在文件中查找和替换,但无法获得解决方案。

文件内容是

“ ProductCode” =“ 8:{3E3CDCB6-286C-4B7F-BCA6-D347A4AE37F5}

“ ProductCode” =“ 8:.NETFramework,Version = v4.5”

我必须更新第一个3D3CDCB6-286C-4B7F-BCA6-D347A4AE37F5的GUID

String line = "\"ProductCode\" = \"8:{3E3CDCB6-286C-4B7F-BCA6-D347A4AE37F5}\"";
String pattern = "[\"]([P][r][o][d][u][c][t][C][o][d][e]).+([\"])(\\s)[\"][8][:][{]";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(line);
System.out.println(m.matches());


我越来越虚假了。

请尽可能提供解决方案。

提前致谢。

最佳答案

“ ProductCode” =“ 8:{3E3CDCB6-286C-4B7F-BCA6-D347A4AE37F5}”格式为:

quote + ProductCode + quote + whitespace + equals + whitespace +
quote + number + colon + any + quote


一个简单的正则表达式是\"ProductCode\"\s*=\s*\"\d:(.+)\"

当我们将其转义为Java字符串时,我们得到\\\"ProductCode\\\"\\s*=\\s*\\\"\\d:(.+)\\\"

09-25 20:58