现在有一文本:
         THEN
            os_msg := '如何用正则表达式将"./&?:"替换成表达式';
            RETURN;
         END IF;现在需要批量地把所有文本中包含''之间的串中把[表达式]替换成[XXX]。
各位高人,牛人有什么办法或工具,帮农一下,没有分,只能作揖了!!!

解决方案 »

  1.   

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class HssfTest {    public static void main(String[] args) {
            String str = 
                "THEN\n" +
                "    os_msg := '如何用正则表达式将\"./&?:\"替换成表达式';\n" +
                "    RETURN;\n" +
                "END IF;\n" +
                "表达式";        Pattern r = Pattern.compile("表达式");
            Matcher rm = r.matcher("");        Pattern p = Pattern.compile("'[^']+'");
            Matcher m = p.matcher(str);
            StringBuffer sb = new StringBuffer();
            while(m.find()) {
                String s = rm.reset(m.group()).replaceAll("XXXX");
                m.appendReplacement(sb, s);
            }
            m.appendTail(sb);
            System.out.println(sb.toString());
        }
    }
      

  2.   

    bao110908 你用的是什么编码格式