preg_match -ing de linhas em um arquivo .txt (com espaços e colchetes!)

Então, eu cheguei até aqui sozinho, mas parece que encontrei o limite do meu conhecimento de PHP (o que não é muito!). Este script é para filtrar nomes de arquivos (ROMs de jogos / iso's etc). Também tem outras formas de filtragem, mas acabei de destacar a seção que estou tentando adicionar. Eu quero um arquivo .txt externo que eu possa colocar os nomes dos arquivos assim (separados por uma única quebra de linha):

Pacman 2 (USA)
Space Invaders (USA)
Asteroids (USA)
Something Else (Europe)

E a execução do script pesquisará o diretório e colocará os nomes de arquivos correspondentes na pasta "removida". Ele funciona bem com todas as outras técnicas de filtragem que usa. Eu só estou tentando adicionar o meu próprio (sem sucesso!)

$gameList = trim(shell_exec("ls -1"));
$gameArray = explode("\n", $gameList);
$file = file_get_contents('manualremove.txt');
$manualRemovePattern = '/(' . str_replace(PHP_EOL, "|", $file) . ')/';

shell_exec('mkdir -p Removed');

foreach($gameArray as $thisGame) {
if(!$thisGame) continue;
// Probably already been removed
if(!file_exists($thisGame)) continue;

if(preg_match ($manualRemovePattern , $thisGame)) {
echo "{$thisGame} is on the manual remove list. Moving to Removed folder.\n";
shell_exec("mv \"{$thisGame}\" Removed/");
continue;

Portanto, isso está funcionando quando eu coloco nomes de jogos sem espaços ou colchetes no arquivo .txt. Mas espaços ou colchetes (ou ambos) estão quebrando sua funcionalidade. Alguém poderia me ajudar?

Muito Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion