用于匹配文件路径的模式

时间:2011-05-11 12:03:56

标签: regex grep

请告诉我匹配以下文件路径的grep模式:

  

../ any_directoryname / FILENAME.TXT

我只知道文件名。 any_directoryname不断变化。

提前致谢,

此致

约翰

4 个答案:

答案 0 :(得分:4)

试试这个:

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

这假定只有一个目录。如果它不止于此,请尝试

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

答案 1 :(得分:0)

试试这个正则表达式

^\.\.\/[\w]+\/[\w\.]+$

答案 2 :(得分:0)

如果您知道文件名并想从字符串中提取路径,请使用

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

如果文件和路径都不同,正则表达式是不可靠的(你只能使用文件系统命令找出某个文件或目录,名称检查不会告诉你),如果其中一个没有'不一样,你根本不需要正则表达式。

答案 3 :(得分:0)

怎么样......

(Perl回答......)

对于给定的路径/文件名,格式为:

$fullPath = /dir/dir/dir/filename

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

那就是

$path = /dir/dir/dir/...
$file = filename