http://php.net/manual/en/function.preg-quote.php:
Специальные символы регулярного выражения:.\+ *? [^] $() { знак равно < > |: -
Однако эта страница говорит, что специальные символы [ \ ^ $ . | ? * + ( )
Хорошо. Я знаю, что первая страница специально предназначена для регулярных выражений php. Однако почему нам нужно избежать !, <, >, :, =, -?
Я попытался сделать preg_match без экранирования <, >, - и !, и все работает отлично.