我试图弄清楚如何从亚马逊的网址获取ASIN。 现在,使用StackOverflow中过去的Q& A参数,我就是这样做的:
Pattern asinPattern = Pattern .compile("^(http[s]?://)?([\\w.-]+)(:[0-9]+)?/([\\w-%]+/)?(dp|gp|gp/product|exec/obidos/asin)/(\\w+/)?(\\w{10})(.*)?$");
Matcher matcher = asinPattern.matcher(url);
String ASIN = null;
if(matcher.find() && matcher.group(7) != null && matcher.group(7) != "")
ASIN = matcher.group(7);
return ASIN;
但它在链接上失败了:
http://www.amazon.com/gp/aw/d/B0045SBJXS/ref=mp_s_a_1_3?qid=1455096100&sr=8-3&pi=SY200_QL40&keywords=avengers(ASIN改为obfusc实际产品)。
为什么失败?我的结果是IllegalArgumentException
。