Я использую os.walk() для получения имени файла. Мне нужно создать список с именами файлов, которые соответствуют следующим шаблонам:Регулярное выражение Python для соответствия имени файла. Использование os.walk() для получения имени файла
если '*'
будет соответствовать всем файлам.
если 'h*'
будет соответствовать всем файлам, начинающимся с h.
если '*h'
будет соответствовать всем файлам, заканчивающимся h.
если '*h*'
будет соответствовать всем файлам, в которых есть h.
если [h-w]*
будет соответствовать любому символу в наборе, в том числе набора отрицания [^ ч-ш]
Я новичок с регулярным выражением и у меня есть проблемы с созданием, если заявление по этому вопросу. Может кто-нибудь объяснить это мне (возможно, с примерами кода), как это сделать. Благодарю.
'*' не является допустимым регулярным выражением. Может быть, вам нужен шаблон типа 'fnmatch'? –
Кроме того, regex 'h *' соответствует файлам с именем 'h',' hh', 'hhh' и т. Д., Но не файлы других. ** pattern ** 'h *' соответствует именам файлов, начинающимся с 'h'. –
@AvinashRaj, нет - это явно объединяет регулярные выражения с шаблонами стиля fnmatch. '* h' также не является допустимым регулярным выражением - символ' * 'должен иметь что-то еще, предшествующее ему, поскольку он изменяет предыдущий токен на 0 или более. –