参照
正規表現で[ ]を利用した時のハイフンの判定 « for WEB屋

.htaccessで.htmlのファイルがなかったら.phpを表示する場合の例
ハイフンの処理は「¥-」と書いても認識されない場合があるので 最後に書いたほうが良い

○ 良い例

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9a-zA-Z_/-]+).html$ $1.php [L]

× ダメな例

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9a-zA-Z_-/]+).html$ $1.php [L]