Как найти файлы или папки с помощью регулярного выражения из списка путей

Предположим, у меня есть следующие пути в базе данных

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. Список всех файлов и папок для данного пути без еще одного уровня вложенных каталогов или вложенных каталогов файла, исключая данный путь к папке.

пример ввода: Emp / Test/

пример вывода:

Emp/Test/Raj/
Emp/Test/Somu/
Emp/Test/Pr/
Emp/Test/R.txt
Emp/Test/P.txt
  1. Список всех файлов и папок для данного пути, включая вложенные каталоги и вложенные каталоги файлов, кроме указанного пути к папке.

пример ввода: 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 ответ

  1. Для случая 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 is a newline