Я действительно не понимаю, почему, но PHP preg_match сопоставляет неправильные темы в определенных.
Например, в этих 4 строках я ожидаю получить "match 2" в качестве вывода, но я получаювместо этого все соответствует (совпадение с 1 по 4)
if (preg_match("/.bin|.d64|.dcr|.gb|.gbc|.htm|.html|.nes|.prg|.sna|.swf|.z80/i", 'arnesdemanoTh.php'))
echo 'match 1';
if (preg_match("/.bin|.d64|.dcr|.gb|.gbc|.htm|.html|.nes|.prg|.sna|.swf|.z80/i", 'arnesdemanoTh.swf'))
echo 'match 2';
if (preg_match("/.bin|.d64|.dcr|.gb|.gbc|.htm|.html|.nes|.prg|.sna|.swf|.z80/i", 'arnesdemanoTh1.gif'))
echo 'match 3';
if (preg_match("/.bin|.d64|.dcr|.gb|.gbc|.htm|.html|.nes|.prg|.sna|.swf|.z80/i", 'arnesdemanoTh2.gif'))
echo 'match 4';
В этом случае я получаю «соответствие 2» в качестве вывода, как и ожидалось
if (preg_match("/.bin|.d64|.dcr|.gb|.gbc|.htm|.html|.nes|.prg|.sna|.swf|.z80/i", 'bang.php'))
echo 'match 1';
if (preg_match("/.bin|.d64|.dcr|.gb|.gbc|.htm|.html|.nes|.prg|.sna|.swf|.z80/i", 'bang.swf'))
echo 'match 2';
if (preg_match("/.bin|.d64|.dcr|.gb|.gbc|.htm|.html|.nes|.prg|.sna|.swf|.z80/i", 'bang1.gif'))
echo 'match 3';
if (preg_match("/.bin|.d64|.dcr|.gb|.gbc|.htm|.html|.nes|.prg|.sna|.swf|.z80/i", 'bang2.gif'))
echo 'match 4';
Что я делаю неправильно?
Большое спасибо за совет!