У меня есть файлы в каталоге со следующим соглашением об именах, которое прибывает ежедневно и вы хотите отфильтровать список файлов для взаимодействия данных. Я играю регулярно, и мне трудно сопоставить файл, который я хочу фильтровать.отфильтрованный список файлов в каталоге
import re
fnames = ["JEExport_20150501-20150531_Credit-Balance-Adjustment-Applied_20150531183249.csv",
"JEExport_20150501-20150531_External-Credit-Balance-Payment_20150531183254.csv",
"JEExport_20150501-20150531_External-Payment_20150531183251.csv",
"JEExport_20150501-20150531_Invoice-Item_20150531183255.csv",
"JEExport_20150501-20150531_Invoice-Item-Adjustment_20150531183304.csv"
"JEExport_20150501-20150531_Invoice-Item-Adjustment-Tax_20150531183313.csv",
"JEExport_20150501-20150531_Taxation-Item_20150531183240.csv"]
for element in fnames:
m = re.match("[A-Za-z]+\-[A-Za-z]+|-[A-Za-z]+", element)
if m == 'Invoice-Item-Adjustment':
print(element) # do something
Это не то, как регулярные выражения работают в Python. re.match() возвращает регулярное выражение MatchObject (или ничего), 'm' никогда не будет равным строке. https://docs.python.org/2/library/re.html#re.match и https://docs.python.org/2/library/re.html#re.MatchObject – TessellatingHeckler