Я смотрю на учебник Приводимые здесь: -Как написать регулярное выражение, исключающее определенные суффиксы файлов?
https://docs.python.org/2/howto/regex.html#lookahead-assertions
Я хочу, чтобы исключить файлы, которые заканчиваются в .pqr.gz, и я не совсем уверен, как это сделать.
например, ожидаемое поведение: -
f1.gz => succeed
f1.abc.pqr => succeed
f1.pqr.gz => fail
f1.abc.gz => succeed
Лучшее регулярное выражение я мог придумать было: -
r'.*[.](?=[^.]*[.][^.]*)(?!pqr[.]gz$)[^.]*[.][^.]*$'
Это исключает файлы, которые заканчиваются в .pqr.gz, но Безразлично» t, например, разрешить файлы, которые являются только f1.gz (т.е. первый случай, который я написал выше).
Любые идеи о том, как это можно улучшить?
EDIT: - Есть лучшие способы сделать это (например, используя string.endswith
), но мне интересно, как это сделать с регулярным выражением только как упражнение.
вы не должны использовать регулярные выражения для проверки суффиксы. –
'. * (?
@Rawing Это работает. Можете ли вы написать это как ответ (надеюсь, с объяснением), и я приму это. – owagh