在答案中使用正则表达式
所以我正在开发一个小型的个人应用程序,它将使用commons io从提供的链接下载图像,但我似乎仍然坚持创建一个正则表达式,从这个URL创建一个文件的路径
6455d342dv3v568b3d4v546w345445b6.png?e = 2354645334& m = b3FDcASty4FvxfE0UbcP3w
以.extension结尾的所有其他内容都可以正常工作。
我正在使用此正则表达式来提取图像名称。
([\\w_.-]+(\\.(?i)(jpg|png|gif|bmp))$)
这是我的代码的一部分,它处理将第一个图像名称应用于用户输入的目录。 (我知道这是一个完全混乱,但我只是想让它工作,并将在以后解决所有问题)
System.out.println("File directory set\nEnter first URL\nURL HAS TO END WITH .extension");
String URL = sc.nextLine();
URLcreator x = new URLcreator(URL);
x.createURL();
if (x.checkExitState() == false) {
try {
Matcher m = p.matcher(URL);
directoryforfile = directorytemplate;
m.find();
foundpath = "/" + m.group();
directoryforfile += foundpath;
directoryforurl = new File(directoryforfile);
FileUtils.copyURLToFile(x.getURL(), directoryforurl);
} catch (IOException e) {
System.out.println("Entered data is wrong even after validation. Check Exception");
e.printStackTrace();
}
我从来没有真正善于创建正则表达式。我应该在应用到我的文件路径之前将其拆分,还是有办法创建在扩展后排除所有内容的正则表达式?
答案 0 :(得分:0)
找到工作规则
正则表达式提供的第四只鸟在评论中工作得很好到目前为止。我用多个链接检查了它。
[\\w.-]+\\.(?i)(?:jpg|png|gif|bmp)