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

标签 python regex linux

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

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

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

感谢任何帮助!

最佳答案

虽然您的 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

关于python - 完整 Linux 文件路径的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35632584/

相关文章:

python - 开始 celery : AttributeError: 'module' object has no attribute 'celery'

Python 2.7/OpenCV 3.3 : Error in cv2. initUndistortRectifyMap 。不显示未失真的校正图像

php - 使用正则表达式从地址中提取数字

c++ - C++ Linux 套接字编程

linux - SIGALRM 以负数给出秒的常数值

python - 如何将cefpython编译成exe

python - process_request() 恰好需要 2 个参数(给定 1 个) - Django Basic HTTP Auth Decorator

javascript - 应该使用哪个正则表达式将 bbcode 样式的标签替换为 HTML 标签

javascript - 如何通过 JS 更改 HTML 文档中字符串的所有实例而不影响其标记?

c++ - 是否可以获取 atomic_int 的底层存储地址?