说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用正则表达式进行替换,替换结果中无法显示反斜杠!!!

编辑:说三道四文库 发布时间:2018-07-20 11:04
HTML文档下载 WORD文档下载 PDF文档下载
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TestRegex {


public static void main(String[] args){


String pat = "toreplace";

String tTpl = " this is test , toreplace dddddddddddd";


Pattern p = Pattern.compile(pat,Pattern.DOTALL);
Matcher m = p.matcher(tTpl);

StringBuffer sb  = new StringBuffer();
String name = null;
while(m.find()){
String s = " * here is \\ * ";
System.out.println(s);
m.appendReplacement(sb,s);
}

m.appendTail(sb);

tTpl = sb.toString();
System.out.println(tTpl);
}
}


以上代码运行结果是


 * here is \ * 
 this is test ,  * here is  *  dddddddddddd



替换后的结果里面没有"\"了,怎么样都搞不出来,请问这个怎么解决?
String s = " * here is \\ * ";
这个字符串也是正则表达式格式,因此要换成:
String s = " * here is \\\\ * ";
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘