哪位达人帮我看看下面这个正则表达式哪里出错了? 上面的表达式报错啊。org.apache.regexp.RESyntaxException: Syntax error: Mismatched class 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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); 我用的是这个控件,做论坛转换的。http://www.mail-archive.com/[email protected]/msg38696.html相关的xml配置如下这个是原来使用的<map ubb-code="(\[em(.[^\[]*)])" map-to="<img src=pic\em$1.gif border=0 align=middle>"/>改成这个样子就报错了<map ubb-code="\\[([^\\]]*?)\\]" map-to="<img src=pic\em$1.gif border=0 align=middle>"/> 试试<map ubb-code="\[([^\]]*?)\]" map-to="<img src=pic\\$1.gif border=0 align=middle>"/> 他的替换编码有问题,换成类似上面的RE re2 = new RE("\\$([0-9])"); while(re2.match(pattern2)){ point = Integer.parseInt(re2.getParen(1)); 偶正则表达式不太懂得说。 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(); } }这段代码没怎么看懂。哪位老大提示一下? 查看jdk不就懂了吗???自己要学会多用用jdk帮助文档! 因为还搭上了regexp,哪位能帮我改改? is it look good? 为什么找不到串口? 急问:文件读取进度条 BigDecimal怎么开方? 关于VOID 和 int 请赐教! 如何从容器中取出特定的对象(容器的使用方法) eclipse如何将程序生成exe文件??????????????? 很简单的问题只一行代码(本来这几天心情就差还不知道为什么扣我分) 各位大虾帮我看看~~~~谢谢了~~在线~ 请问那儿有璩美鳳偷拍光碟下载!!有效给分!! 编译时提示出错,请指教 请问一些JAVA的基本问题,小弟才学JAVA
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);
http://www.mail-archive.com/[email protected]/msg38696.html
相关的xml配置如下
这个是原来使用的
<map ubb-code="(\[em(.[^\[]*)])" map-to="<img src=pic\em$1.gif border=0 align=middle>"/>
改成这个样子就报错了
<map ubb-code="\\[([^\\]]*?)\\]" map-to="<img src=pic\em$1.gif border=0 align=middle>"/>
RE re2 = new RE("\\$([0-9])");
while(re2.match(pattern2)){
point = Integer.parseInt(re2.getParen(1));
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();
}
}
这段代码没怎么看懂。哪位老大提示一下?
自己要学会多用用jdk帮助文档!