日期:2014-05-20  浏览次数:20778 次

正则表达式问题请教
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")