我正在尝试仅将 URL 上的文件扩展名与图像匹配。我有这个正则表达式:
(?<=\.)(jpe?g|png|gif|bmp|tga|tiff)$
我已经在几个网站上对此进行了测试,它匹配得很好。但是当我尝试在 Java 中使用它时,我添加了一个额外的 \ 来转义 . 而且我认为我不应该添加更多?但这不起作用:
Pattern extensionPat = Pattern.compile("(?<=\\.)(jpe?g|png|gif|bmp|tga|tiff)$", Pattern.CASE_INSENSITIVE);
Matcher findExtension = extensionPat.matcher(imageURL);
String extension = findExtension.group();
其中 imageURL 是“ https://www.google.com/images/srpr/logo4w.png ”
在同事的建议下,我尝试将管道逃逸到:
Pattern extensionPat = Pattern.compile("(?<=\\.)(jpe?g\\|png\\|gif\\|bmp\\|tga\\|tiff)$", Pattern.CASE_INSENSITIVE);
我试过转义 $ 和 <,但似乎没有任何效果......