import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test { public static void main(String[] args){

// String string =" d=\"path_npc4\"";
String string =" d=\"M2704,862.775c-89.699,0-1577.55,0-1659.45,0";

p(getValue(string,"d")); }

public static String getValue(String item, String key) { String keyP = "("+"[^\\w]" + key + "\\s*+=\\s*+" + "\")" + "(.*?)" + "(\")";
Pattern pt = Pattern.compile(keyP.toString());
Matcher mt = pt.matcher(item);
if (mt.find())
return mt.group(2);
else
return null;
}

public static void p(Object o){
System.out.println(o.toString());
}
}将字符串换为" d=\"M2704,862.775c-89.699,0-1577.55,0-1659.45,0",会取不到结果,请教原因。