preg_match -ing desde líneas en un archivo .txt (¡con espacios y corchetes!)

Así que he llegado tan lejos por mi cuenta, pero parece que he encontrado el límite de mi conocimiento de PHP (¡lo cual no es mucho!). Este script es para filtrar nombres de archivos (roms / iso del juego, etc.). También tiene otras formas de filtrado, pero acabo de resaltar la sección que estoy tratando de agregar. Quiero un archivo .txt externo en el que pueda poner nombres de archivos así (separados por un solo salto de línea):

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

Y luego ejecutar el script buscará en el directorio y colocará los nombres de archivo coincidentes en la carpeta "eliminada". Funciona bien con todas las otras técnicas de filtrado que utiliza. Solo estoy tratando de agregar el mío (¡sin éxito!)

$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;

Así que esto funciona cuando pongo nombres de juegos sin espacios ni corchetes en el archivo .txt. Pero los espacios o corchetes (o ambos) están rompiendo su funcionalidad. ¿Podria alguien ayudarme

¡Muchas gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta