package regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test1
{
public static void main(String[] args)
{
String s="dsdh654.jpg dook.png $$$$.jpg asdf11232ffsd.gif asasda.java aasdasd24$asd.dat";
Pattern p=Pattern.compile("([a-z0-9_\$]+)(\.)(gif|jpg|png)",Pattern.CASE_INSENSITIVE);
Matcher m=p.matcher(s);
StringBuffer sbr=new StringBuffer();
while(m.find())
{
m.appendReplacement(sbr,m.group(1)+"_xl"+m.group(2)+m.group(3));
}
m.appendTail(sbr);
System.out.println(sbr.toString());
}
}
如果把$$$$.jpg 去掉就对,我想问,不去掉为什么不对呢?