2

Java 7でこのグロブを使用して、オーディオファイルのみを正常に返しました

*.{mp3,mp4,m4p,m4b,m4a,ogg,flac,wma}

しかし、 ._で始まるすべてのファイルを除外する必要もあります。

パターンのみを除外し、グロブを含める方法はないようですので、正規表現に切り替えましたが、あまり運がありませんでした。

[^\.].*\.{mp3,mp4,m4a,ogg,flac,wma}

グロブまたは正規表現を使用して解決策を教えてください

4

1 に答える 1

1

これを試すことができます: -

^(?!._).*[.](?: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 (.)文字クラスではエスケープする必要がないことに注意してください。

(?:...)非キャプチャグループです。

于 2012-12-19T10:31:06.427 に答える