Bem, [^.]
significa "não é um .
", e é por isso que /.somefile
não corresponde. Uma possível razão pela qual o seu último exemplo não funciona é porque as expressões regulares compatíveis com Perl são suportadas apenas a partir do Apache 2.0, então se você estiver no Apache 1.3 (você deve especificar uma versão do Apache na sua pergunta), seja isso.