假如有个字符串为"fatcatfatcatfat",正则为“cat”
当调用appendReplacement(sb, "dog")时appendReplacement方法都会把匹配到的内容替换为dog,并把匹配到字符串的前面几个字符串+dog送给sb里,所以第一次输出fatdog
当第二次调用输出fatdogfatdog
// 创建正则表达式 String regex = "cat"; // 创建字符串 String input = "fatcatfatcatfat"; // 创建对象pattern 对象 Pattern pattern = Pattern.compile(regex); // 创建匹配match Matcher matcher = pattern.matcher(input); // 记录结果 StringBuffer sb = new StringBuffer(); // 第一次调用appendReplacement方法 // 每次调用appendReplacement方法都会把匹配到的内容替换为dog,并把匹配到字符串的前面几个字符串+dog送给sb里,所以第一次输出fatdog matcher.find(); matcher.appendReplacement(sb, "dog"); // 第二次调用appendReplacement方法 // 每次调用appendReplacement方法都会把匹配到的内容替换为dog,并把匹配到字符串的前面几个字符串+dog送给sb里,所以第二次输出fatdogfatdog matcher.find(); matcher.appendReplacement(sb, "dog"); // 再调用一次appendTail方法,会把匹配工作后剩余的字符串的加到sb中,所以第二次输出fatdogfatdogfat matcher.appendTail(sb); System.out.println(sb.toString());
字节(Byte)是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位。字符(Character)计算机中使用的字母、数字、字和符号,比如'A'、'B'、'$'、'&'等。一般在英文...
public class test { public static void main(String[] args) { &...
java一个类可以有多个构造方法,根据传参类型和个数来匹配执行哪个构造方法。public class Member { public Member(){  ...
java stringBuffer(1).stringBuffer和stringBuilder区别stringBuffer是线程安全的,stringBuilder速度更快(2).简单的stringBuffer例子StringBuffer sBuffer = new&nb...
(1).java睡眠函数Thread.sleep(时间); //单位为毫秒(2).java睡眠函数例子Date dNow = new Date(); SimpleDateFormat ft = new&nbs...
java正则表达式的捕获组捕获组可以将匹配到的结果根据正则中的括号进行分组,这里变量我加了$符,php转java的坏习惯,懒得改了,能跑就行// 匹配字符串 String $line = "gaojiufeng 1994! ok?...