Java 正则表达式匹配图片地址:完善图片下载代码
Java 正则表达式匹配图片地址:完善图片下载代码
假设需要匹配的图片地址格式为'http://bsyimg.pandapaint.net/v2/work_cover/user/这里是任何内容.jpg',其中'这里是任何内容'可以是任意字符。
原始代码:
if (imageUrl != null && imageUrl.matches("http://bsyimg\.pandapaint\.net/v2/work_cover/user/这里是任何内容.jpg")) {
downloadImage(imageUrl);
return "下载成功";
} else {
return "未能提取到图片地址 ";
}
问题:
这段代码中的正则表达式只匹配固定的字符串,无法匹配任何内容。
解决方案:
使用以下正则表达式进行匹配:
^http://bsyimg\.pandapaint\.net/v2/work_cover/user/.*\.jpg$
解释:
^: 匹配字符串开头http://bsyimg\.pandapaint\.net/v2/work_cover/user/: 匹配固定字符串.*: 匹配任意字符(0次或多次)\.jpg: 匹配“.jpg”$: 匹配字符串结尾
修改后的代码:
if (imageUrl != null && imageUrl.matches("^http://bsyimg\.pandapaint\.net/v2/work_cover/user/.*\.jpg$")) {
downloadImage(imageUrl);
return "下载成功";
} else {
return "未能提取到图片地址";
}
这样就可以完善正则匹配,使代码能够匹配所有符合格式的图片地址。
原文地址: http://www.cveoy.top/t/topic/imLF 著作权归作者所有。请勿转载和采集!