FIlesMatch
filename 引数は、ファイル名かワイルドカード文字列 で、ワイルドカードでは ? は一つの文字、* は任意の文字列にマッチします。 ~ という文字を付加することで正規表現を使うこともできます。 例えば、
<Files ~ "\.(gif|jpe?g|png)$">とすることにより、一般的なインターネットの画像フォーマットにマッチします。 ただし、 <FilesMatch> を使う方が 推奨されています。
...<FilesMatch> ディレクティブは、 <Files> ディレクティブ同様にその中にあるディレクティブの適用範囲をファイル名で制限します。ただし、 このディレクティブには正規表現を指定します。 例えば:
<FilesMatch "\.(gif|jpe?g|png)$">は一般的なインターネットの画像形式にマッチします。
https://httpd.apache.org/docs/trunk/ja/mod/core.html#filesmatch
違いはないでしょう。
Files ~ で表現していた正規表現(~無しのFilesの時は正規表現じゃなくてファイルマッチ)での指定をする専用のディレクティブを作ったということです。
新しい方を使いましょうと言うことだと思いますよ。
【Apache】<Files ~>と<FilesMatch>及び、<Directory ~>と<DirectoryMatch>の違いは?| OKWAVE
regex セクションを使用することで、画像ファイルの多くのタイプに対する アクセスを一度に拒否できます。
<FilesMatch \.(?i:gif|jpe?g|png)$> Order allow,deny Deny from all </FilesMatch>
大文字小文字マッチング
(?adluimsx-imsx:pattern)
https://perldoc.jp/docs/perl/5.20.1/perlre.pod#Extended32Patterns