私は正規表現を吸います。サーバー上のファイル名のディレクトリを読み取るphp関数があり、特定の1つのファイル名からファイル名データを取得しようとしていますが、惨めに失敗しています。これが私がこれまでに持っているものです:
$file = 'VERSION_3.7.1b.txt';
$VersionNumber = preg_match('#^(VERSION_)[^\s]*\.\.[^\s]+(\.(txt))#', $file);
preg_matchが「VERSION_」で始まり「.txt」で終わるファイルに対してのみtrueを返すようにしようとしています。真ん中のものは、さまざまな数字、文字、ピリオドなどです...そしてそれが私が返したい部分です。したがって、この場合、$VersionNumberを「3.7.1b」として設定する必要があります。
何かを返す他のファイル名は次のようなものです。
VERSION_3.txt -> 3
VERSION_3.7.txt -> 3.7
VERSION_3.7e.1.txt -> 3.7e.1
VERSION_2012.09.13.3.7.1b.txt -> 2012.09.13.3.7.1b
VERSION_3.7.20120913.txt -> 3.7.20120913
私が近くにいる場合でも説明できる正規表現マスターはいますか?ありがとう!