Регулярное выражение для поиска \\ [ - PullRequest
0 голосов
/ 23 октября 2009

Попытка найти "\ [" в моем контенте не дает никаких результатов. Я использую этот шаблон:

preg_replace('/\\\[/', $content, $matches);

Что не так с моим рисунком? Спасибо.

Обновление. По моей вине я имел ввиду preg_match_all.

Ответы [ 4 ]

6 голосов
/ 23 октября 2009

preg_replace заменяет все найденные совпадения. Используйте preg_match для первого матча и preg_match_all, чтобы получить все совпадения вместо:

preg_match_all('/\\\[/', $content, $matches);
1 голос
/ 23 октября 2009
preg_replace('/\\\\[/', $content, $matches);

Попробуйте 4 (четыре) обратных слеша, потому что шаблон, который вы получите с тремя, это "\ [", что означает просто "[" для механизма регулярных выражений. :)

0 голосов
/ 24 октября 2009

Попробуйте \\\\\\[, должно работать.

Поскольку эти два символа имеют особое значение в регулярном выражении, их необходимо маскировать следующим образом: \\\[. Теперь, когда мы помещаем это регулярное выражение в строку для php, каждый обратный слеш должен быть снова замаскирован, потому что обратный слеш имеет особое значение в строке.

0 голосов
/ 23 октября 2009

Я нашел правильный [\\\\][\[].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...