完整Linux文件路径的正则表达式

时间:2016-02-25 16:13:30

标签: python regex linux

我正在尝试创建一个正则表达式来查找文本中的Linux文件路径,但正则表达式对我来说是非常新的。我有下面的代码片段,它将标识下面文件结构的开头。

.*(/bin/|/home/).*

在" / bin /"之后,完成正则表达式以获取任何可能的子目录和文件的最佳方法是什么?或" / home /"?

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

虽然您的RegEx在技术上选择了所有子目录和文件,但请尝试使用此RegEx:

.*(/bin/|/home/)(\w+(?:\.\w+)+|(\w+/))+

文件的每个文件夹都将存储在不同的组中

Live Demo on Regex101

工作原理:

.*(/bin/|/home/)          # Select /bin/ or /home/
(                         # Capture each sub-directory or file
   \w+(?:\.\w+)+              # File name (with extension(s))
   |                          # OR
   (\w+/)                     # Final Folder Name
)+                        # Capture each one or more times