шаблон для соответствия пути к файлу - PullRequest
3 голосов
/ 11 мая 2011

Подскажите, пожалуйста, шаблон grep для соответствия следующему пути к файлу:

.. / any_directoryname / filename.txt

Я знаю только имя файла. any_directoryname продолжает меняться.

Заранее спасибо,

Привет

John

Ответы [ 4 ]

4 голосов
/ 11 мая 2011

Попробуйте это:

\.\./[^/]+/filename.txt

Это предполагает только один каталог. Если это может быть больше, попробуйте

\.\./[^\r\n]+/filename.txt 
0 голосов
/ 17 января 2014

Как насчет ...

(Ответ Perl ...)

Для заданного пути / имени файла в виде:

$fullPath = /dir/dir/dir/filename

($path, $file) = $fullPath =~ m/(^\/.*\/)(\S+$)/;

Это ставит

$path = /dir/dir/dir/...
$file = filename
0 голосов
/ 11 мая 2011

Если вы знаете имя файла и хотите извлечь путь из строки, используйте

str_replace('/filename.txt', '', $full_path);

Регулярное выражение ненадежно, если изменяется как файл, так и путь (вы можете узнать, является ли файл файлом или каталогом, используя команды файловой системы, проверка имени не сообщит вам об этом), и если один из двух не Вы можете не нуждаться в регулярных выражениях.

0 голосов
/ 11 мая 2011

попробуйте это регулярное выражение

^\.\.\/[\w]+\/[\w\.]+$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...