0
这是我的映射器中的代码。映射器的错误正则表达式
result.put("contentThumbUrl", getThumbUrl(extractor.extract("youtube.videolink").asText(), false));
result.put("contentThumbSmallUrl", getThumbUrl(extractor.extract("youtube.videolink").asText(), true));
我的功能是:
private String getThumbUrl(String videoId, boolean small) {
videoId = videoId.replaceAll("http://www\\.youtube\\.([a-z]{2}|[a-z]{3})/watch\\?v=.|https://www\\.youtube\\.([a-z]{2}|[a-z]{3})/watch\\?v=", "");
if(small) {
return "http://img.youtube.com/vi/" + videoId + "/2.jpg";
}
return "http://img.youtube.com/vi/" + videoId + "/0.jpg";
}
但是我得到了错误的结果。
"contentThumbSmallUrl":"http:\/\/img.youtube.com\/vi\/https:\/\/www.youtube.com\/watch?v=lEBwKBJ8Leg\/2.jpg"
and
contentThumbUrl":"http:\/\/img.youtube.com\/vi\/https:\/\/www.youtube.com\/watch?v=lEBwKBJ8Leg\/0.jpg"
有反正我可以改正它。我不知道我的正则表达式是否正确。有什么方法可以缩短我的正则表达式吗?