假如有个字符串为"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正则表达式的捕获组捕获组可以将匹配到的结果根据正则中的括号进行分组,这里变量我加了$符,php转java的坏习惯,懒得改了,能跑就行// 匹配字符串 String $line = "gaojiufeng 1994! ok?...
java命令行传参,java从命令行接收参数public static void main(String[] args) { for (int i = 0;&nb...
java 可变参数// 定义方法 public static int sum(int... number) { int result = 0; &nb...
java从命令行读取字符输入java的控制台输入是由System.in提供的//11.1.每次读取1个字符// 创建bufferedReader BufferedReader br = new BufferedReader(new Inpu...
java FileOutPutStream 向文件写入数据// 文件 String file = "learn.txt"; // 写入内容1024 byte[] content = { ...
java创建目录,java删除目录,java获取目录中的文件和目录// 设置运行目录 String filePathName = "/tmp/runtime/"; // 初始化文件类 File file =&...