使用正则表达式

时间:2018-02-13 09:31:00

标签: java regex url pattern-matching matcher

在答案中使用正则表达式

所以我正在开发一个小型的个人应用程序,它将使用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();
        }

我从来没有真正善于创建正则表达式。我应该在应用到我的文件路径之前将其拆分,还是有办法创建在扩展后排除所有内容的正则表达式?

1 个答案:

答案 0 :(得分:0)

找到工作规则

正则表达式提供的第四只鸟在评论中工作得很好到目前为止。我用多个链接检查了它。

[\\w.-]+\\.(?i)(?:jpg|png|gif|bmp)