URLのファイル拡張子だけを画像に一致させようとしています..私はこの正規表現を持っています:
(?<=\.)(jpe?g|png|gif|bmp|tga|tiff)$
これをいくつかのWebサイトでテストしたところ、うまく一致しました..しかし、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);
$ と < をエスケープしようとしましたが、何もうまくいかないようです...