Regex: расширение файла Omit - PullRequest
0 голосов
/ 14 мая 2018

Я пишу регулярное выражение для извлечения имени файла из пути к файлу Linux, например:

/snowninja/Documents/filename.txt`

Имя файла может содержать пробелы.

Вот регулярное выражение: ^/(.+/)*(.+)/(.+)$, который я использую, чтобы выбрать пути к файлам, а затем получить имена файлов по $3

Это подхватывает даже расширение файла, и я этого не хочу.Любая помощь приветствуется.Т * +1010 *

1 Ответ

0 голосов
/ 14 мая 2018

Я бы пошел со следующим регулярным выражением: Демо

(?<=\/)[^.\/]+(?=[.])
(?<=/)[^./]+(?=[.]) <-- unescaped

Он переходит к положительному взгляду, чтобы найти /, выбирает все послеэто не . или / и остановка при поиске . (позитивный взгляд), чтобы убедиться, что вы берете файл, а не каталоги

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...