原文: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());
语言
en>zh
Google
C
E
地图地图=新的HashMap (); map.put(猫,淼淼); map.put(狗,旺旺);模式P = Pattern.compile(猫|狗);匹配器米= p.matcher(乙方); StringBuffer的某人=新的StringBuffer() ,而(m.find()){m.appendReplacement(某人,$ 0 map.get(m.group(0)));}米 appendTail(某人); System.out.println(sb.toString());