我正在尝试使用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:(.+)\\\"