PHP Экранирование обратного слеша в регулярке

Компьютеры программирование php

Пытался вытащить имя файла из полного пути
C:\1.txt
Но не пойму почему вот так не работает регулярное выражение
#[^\\]*$#
А так работает
#[^\\\]*$#
Прошу объяснить как правильно понимать такое экранирование.

Примечание:
>>slo_nik
Спасибо за ответ. Буду знать,что то так тоже можно делать.
Не так часто приходится работать с файлами))

Но вопрос пока оставлю открытым, мне просо интересно по чему так происходит при экранировании.

Примечание:
Кажись до меня начинает доходить))
Первое экранирование происходит на уровне строки,
а второе на уровне РВ.
Я правильно понял?
Ответы:
а зачем использовать РВ для получения имени файла?
если можно обойтись без РВ, то лучше их не использовать.
имя файла можно получить при помощи функций pathinfo() или basename().
подробности по ссылке
Вообще-то, если бы Вы задались целью найти ответ на свой вопрос, то давно бы нашли, информации в инете валом...
Вот Вам только первых три результата из поиска.
Перепечатывать здесь не имеет смысла, так, что идите по ссылкам.
Возможно вам будет полезным сервис правильного составления регулярных выражений в PHP.


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.