假如有个字符串为"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());
java stringBuffer(1).stringBuffer和stringBuilder区别stringBuffer是线程安全的,stringBuilder速度更快(2).简单的stringBuffer例子StringBuffer sBuffer = new&nb...
(1).创建数组double[] myList = new double[size]; //推荐创建方式 double myList[] = new double[size];  ...
(1).java睡眠函数Thread.sleep(时间); //单位为毫秒(2).java睡眠函数例子Date dNow = new Date(); SimpleDateFormat ft = new&nbs...
java正则表达式的捕获组捕获组可以将匹配到的结果根据正则中的括号进行分组,这里变量我加了$符,php转java的坏习惯,懒得改了,能跑就行// 匹配字符串 String $line = "gaojiufeng 1994! ok?...
java析构函数finalize()java进行垃圾回收时会调用finalize(),用户可以用它来关闭已经打开的资源句柄等操作,具体场景比较多。和php的析构函数__destruct差不多但是这个方法在最新版本的java中提示已经废弃了,好像java9中干掉了它...