如何使用路径列表中的正则表达式查找文件或文件夹

时间:2016-09-30 10:59:51

标签: java

假设我在数据库中有以下路径

Emp/Test/
Emp/bi testing/1.txt
Emp/bi testing/2.txt
Emp/bi testing/1/pipe.txt
Emp/Test/Raj/
Emp/Test/Raj/1.txt
Emp/Test/Somu/
Emp/Test/Pr/
Emp/Test/R.txt
Emp/Test/P.txt

我需要帮助来构建正则表达式

  1. 列出给定路径的所有文件和文件夹,没有一个级别子目录或子目录文件,不包括给定的文件夹路径。
  2. 示例输入:Emp / Test /

    示例输出:

    Emp/Test/Raj/
    Emp/Test/Somu/
    Emp/Test/Pr/
    Emp/Test/R.txt
    Emp/Test/P.txt
    
    1. 列出给定路径的所有文件和文件夹,包括除给定文件夹路径以外的子目录和子目录文件。
    2. 示例输入:Emp / Test /

      示例输出:

      Emp/Test/Raj/
      Emp/Test/Raj/1.txt
      Emp/Test/Somu/
      Emp/Test/Pr/
      Emp/Test/R.txt
      Emp/Test/P.txt
      

      感谢。

1 个答案:

答案 0 :(得分:0)

对于案例1:你应该有类似的东西:

Emp\/Test\/(\w+\.\w+|([\w]+\/{1}))\n

对于案例2,只有一个加号可以匹配多次递归目录。

Emp\/Test\/(\w+\.\w+|([\w]+\/{1}))+\n

解释:

  • Emp/Test/已转换为'Emp / Test /'以转义字符/
  • \w+\.\w+匹配文件。
  • [\w]+\/{1}匹配目录
  • 最终+代表多次申请前一组。
  • \n是换行符