Я пытаюсь написать сценарий Python для анализа файла журнала. Ядро скрипта заимствовано из pythoni c способами .
import re
log_file_path = r"O:\ZTK log file parser\2 Parsing Log\JP"
regex = '8355371640847825590'
match_list = []
with open(log_file_path, "r") as file:
for line in file:
for match in re.finditer(regex, line, re.S):
match_text = match.group()
match_list.append(match_text)
print(match_list) # work in progress
Приведенный выше пример хорошо работает при синтаксическом анализе простых строковых значений. Но когда я пытаюсь вставить переменную регулярного выражения:
regex = '((.*\n){2}).*8355371640847825590'
Он всегда возвращает пустой список.
Меня беспокоит то, что это выражение действительно хорошо работает в тестовых средах, таких как https://regex101.com/. Каждое значение правильно сопоставлено. К сожалению, я не могу воспроизвести это в Python.
Буду признателен, если вы мне поможете.