Проблема с регулярными выражениям python
при отработке
extract_page = re.compile(r"(GET|PUT|POST|HEAD|OPTIONS|DELETE).(?P<date>\/[a-zA-Z]+\/[a-zA-Z0-9]+.[a-z]+)")
extract_data = extract_page.search(log_string)
return extract_data.group('date')
Выдает ошибку:
AttributeError: 'NoneType' object has no attribute 'group'
Почему?
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Нужно проверять результат re.search. Если регулярка не найдет строку по шаблону, то вернет None:
Return None if no position in the string matches the pattern
Пример проверки:
extract_page = re.compile(r"(GET|PUT|POST|HEAD|OPTIONS|DELETE).(?P<date>\/[a-zA-Z]+\/[a-zA-Z0-9]+.[a-z]+)")
extract_data = extract_page.search(log_string)
if extract_data:
return extract_data.group('date')