上面的表达式报错啊。
org.apache.regexp.RESyntaxException: Syntax error: Mismatched class

解决方案 »

  1.   

    Pattern p = Pattern.compile("\\[([^\\]]*?)\\]");
     Matcher m2 = p.matcher("[em01][em02][em03][em04]"); String s2 = m2.replaceAll("<img src=pic\\\\$1.gif border=0 align=middle>");
    System.out.println(s2);
      

  2.   

    我用的是这个控件,做论坛转换的。
    http://www.mail-archive.com/[email protected]/msg38696.html
    相关的xml配置如下
    这个是原来使用的
    <map ubb-code="(\[em(.[^\[]*)])" map-to="&lt;img src=pic\em$1.gif border=0 align=middle&gt;"/>
    改成这个样子就报错了
    <map ubb-code="\\[([^\\]]*?)\\]" map-to="&lt;img src=pic\em$1.gif border=0 align=middle&gt;"/>
      

  3.   

    试试<map ubb-code="\[([^\]]*?)\]" map-to="&lt;img src=pic\\$1.gif border=0 align=middle&gt;"/>
      

  4.   

    他的替换编码有问题,换成类似上面的
    RE re2 = new RE("\\$([0-9])");
                    while(re2.match(pattern2)){
                        point = Integer.parseInt(re2.getParen(1));
      

  5.   

    偶正则表达式不太懂得说。
      public static String replace(String pattern1,String pattern2,String inStr){
            try {
                    RE re = new RE(pattern1);
                int point=0;
                while(re.match(inStr)){
                    RE re2 = new RE("\\$([0-9])");
                    while(re2.match(pattern2)){
                        point = Integer.parseInt(re2.getParen(1));
                        pattern2=re2.subst(pattern2,re.getParen(point),RE.REPLACE_FIRSTONLY);
                    }
                    inStr = re.subst(inStr,pattern2);
                }
                return inStr;
            }
            catch (Exception e) {
                    System.out.println(e);
                return e.toString();
            }
        }
    这段代码没怎么看懂。哪位老大提示一下?
      

  6.   

    查看jdk不就懂了吗???
    自己要学会多用用jdk帮助文档!
      

  7.   

    因为还搭上了regexp,哪位能帮我改改?