用<>标签
String f="<fontcolor=red>sds</fontcolor>";
  String da="<fontcolor=(.+?)>(.+?)</fontcolor>";
  f=f.replaceAll(da,"<font color=$1>$2</font>");
  out.print(f);可以正确输出红色的sds
用[]标签
String f="[fontcolor=red]sds[/fontcolor]";
  String da="[fontcolor=(.+?)](.+?)[/fontcolor]";
  f=f.replaceAll(da,"<font color=$1>$2</font>");
  out.print(f);出错
exception org.apache.jasper.JasperException: No group 2
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
root cause java.lang.IndexOutOfBoundsException: No group 2
java.util.regex.Matcher.group(Matcher.java:355)
java.util.regex.Matcher.appendReplacement(Matcher.java:585)
java.util.regex.Matcher.replaceAll(Matcher.java:661)
java.lang.String.replaceAll(String.java:1663)
org.apache.jsp.test_jsp._jspService(test_jsp.java:87)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)编译器将其当数组了,请各位前辈指教

解决方案 »

  1.   

    String f="[fontcolor=red]sds[/fontcolor]";
      String da="\[fontcolor=(.*?)\](.*?)\[/fontcolor\]";
      f=f.replaceAll(da,"<font color=$1>$2</font>");
      out.print(f);还是不行Compiling 1 source file to E:\我的程序\JAVA\wuliu\build\generated\classesE:\我的程序\JAVA\wuliu\build\generated\src\org\apache\jsp\test_jsp.java:86: illegal escape character  String da="\[fontcolor=(.*?)\](.*?)\[/fontcolor\]";              ^E:\我的程序\JAVA\wuliu\build\generated\src\org\apache\jsp\test_jsp.java:86: illegal escape character  String da="\[fontcolor=(.*?)\](.*?)\[/fontcolor\]";                               ^E:\我的程序\JAVA\wuliu\build\generated\src\org\apache\jsp\test_jsp.java:86: illegal escape character  String da="\[fontcolor=(.*?)\](.*?)\[/fontcolor\]";                                      ^E:\我的程序\JAVA\wuliu\build\generated\src\org\apache\jsp\test_jsp.java:86: illegal escape character  String da="\[fontcolor=(.*?)\](.*?)\[/fontcolor\]";                                                  ^4 errorsE:\我的程序\JAVA\wuliu\nbproject\build-impl.xml:353: The following error occurred while executing this line:E:\我的程序\JAVA\wuliu\nbproject\build-impl.xml:141: Compile failed; see the compiler error output for details.生成失败(总时间:3 秒)