Почему регулярное выражение "~[^\\\]=~" так работает в PHP?
Мне нужно составить регулярное выражение для поиска знака равно, перед которым стоит любой символ, кроме \. Вот такое '~[^\\\]=~' работает, а '~[^\\]=~' - ошибка компиляции "missing terminating ] for character class". Почему нужно \\\, а не \\? Ведь по сути мне нужно просто экранировать \, что я и делаю с помощью \\. Зачем еще один бэкслэш? И почему все-таки ошибка компиляции происходит?
Спасибо за разъяснение заранее