- Java code
Pattern p = Pattern.compile("[{]([^}]*)[}]"); Matcher ms = p.matcher("{[abc].[def]}"); while(ms.find()){ String key = ms.group(1); System.out.println(key); // 输出:[abc].[def] String str = key.replaceAll(key, "test"); System.out.println(str); // 依然输出:[abc].[def] }
我想把正则表达式得出的结果“[abc].[def]”替换成“test”,但由于转义字符的影响而无法实现,
希望能得到指点……
------解决方案--------------------
"{[abc].[def]}".replaceAll("([{])[^}]*([}])","$1"+"test"+"$2")