Мне нужна помощь, чтобы сопоставить каждую строку файла с форматом REGEX и, если не совпадает, переформатировать строку на основе формата REGEX.
О файле: В каждой строке изменяется только 10 цифр (1234567890) после qr в каждой строке.
Проблема: сейчас я НЕ могу провести матч. Мой вывод - это просто вывод ELSE даже в правильном формате.
Заранее благодарю за помощь!
import re
filepath = 'fruit.txt'
def main():
# mode function to check that the file is in open mode.
with open(filepath) as fp:
cnt = 1
for line in fp:
#Matching correct format: fruit_id (iid 43210, qr 1234567890,mo 001212121)
matchLn = re.match(r'fruit_id\s+\(iid\s+43210,\s+qr\s+1\d\{10},mo\s+001212121\)', line, re.M|re.I)
print("Matching Pattern with : {}".format(line))
#if pattern.match(line):
if matchLn:
print('Matched format:', cnt)
else:
print('Check the format of the line:', cnt)
# I need to make sure the line matches the format)
cnt = cnt + 1
main()
fruit.txt:
fruit_id (iid 43210, qr 1234567890,mo 001212121)
fruit_id (iid 43210, qr 1235567890,mo 001212121)
fruit_id (iid 43210, qr 1225367890,mo 001212121)
fruit_id (iid 43210, qr 1274567890,mo 001212121)
fruit_id (iid 43210, qr 1279567890,mo 001212121)
fruit_id (iid 43210, qr 1245637890,mo 001212121)
fruit_id (iid 43210, qr 1234457890,mo 001212121)
fruit_id (iid 43210, qr 1234532890,mo 001212121)
Вывод:
Matched format: 1
Matched format: 2
Matched format: 3
Matched format: 4
Matched format: 5
Matched format: 6
Matched format: 7
Matched format: 8
Copying the file to a path..