Java 7でこのグロブを使用して、オーディオファイルのみを正常に返しました
*.{mp3,mp4,m4p,m4b,m4a,ogg,flac,wma}
しかし、 ._で始まるすべてのファイルを除外する必要もあります。
パターンのみを除外し、グロブを含める方法はないようですので、正規表現に切り替えましたが、あまり運がありませんでした。
[^\.].*\.{mp3,mp4,m4a,ogg,flac,wma}
グロブまたは正規表現を使用して解決策を教えてください
これを試すことができます: -
^(?!._).*[.](?:mp3|mp4|m4p|m4b|m4a|ogg|flac|wma)$
説明: -
^ // Beginning of the string
(?!._) // Negative look-ahead to confirm that there is no `._` at the starting.
.* // 0 or more any character
[.] // A dot (.)
(?:mp3|mp4|m4p|m4b|m4a|ogg|flac|wma) // Any one extension matched at the end.
$
dot (.)
文字クラスではエスケープする必要がないことに注意してください。
(?:...)
非キャプチャグループです。