Python RegEx совпадает с путем к файлу в нижнем регистре при запуске - PullRequest
1 голос
/ 08 апреля 2020

Я пытаюсь сопоставить пути к файлам, где первая папка начинается со строчной буквы в Python 3. Вещи, которые должны совпадать в начале пути к файлу:

/var/
/etc/
/tmp/
/private/
...

Вещи, которые НЕ должны быть сопоставленным:

/User/
/Library/
/System/
/User/etc/
/User/bin/
...

Я пробовал следующий RegEx, но он не работает:

/^(\/[a-z]\/)

Спасибо!

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

Вы можете получить вместе с

^/[a-z]\S+

См. демонстрацию на regex101.com .


В Python:
import re

lst = ["/var/", "/etc/", "/tmp/", "/private/", "/User/", "/Library/", "/System/", "/User/etc/", "/User/bin/"]
rx = re.compile(r'^/[a-z]\S+')
filtered = [path for path in lst if rx.match(path)]
print(filtered)
0 голосов
/ 08 апреля 2020

Вам нужно будет обработать любые символы, идущие после первого маленького символа. Попробуйте это -

^/[a-z].*/

Демо

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