原文:black cat, white dog
String str = "black cat, white dog";
一、替换成:black pig, white pig
str.replaceAll("cat|dog","pig");
二、替换成:black (cat), white (dog)
str.replaceAll("cat|dog","($0)");
注:$0代表正则表达式所有文本匹配区域,$n代表正则表达式第n个匹配组
三、替换成:black cat miaomiao, white dog wangwang
Map<String, String> map = new HashMap<String, String>();
map.put("cat", "miaomiao");
map.put("dog", "wangwang");
Pattern p = Pattern.compile("cat|dog");
Matcher m = p.matcher(str);
StringBuffer sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, "$0 " + map.get(m.group(0)));
}
m.appendTail(sb);
System.out.println(sb.toString());