Я выполняю сопоставление с шаблоном в больших документах HTML. В настоящее время у меня есть много горсток выражений регулярных выражений, которые я использую для проверки всех типов дат 01-01-2000
, 1-1-2000
, 01/01/2000
, 01.01.2000
, 01/01/00
, 01 Jan 2000
... и так далее. Я могу очистить HTML, это не проблема и не то, чем я сейчас занимаюсь.
Моя текущая реализация "отлично" , потому что она работает, но начинаетзанимает много времени, тем более, что каждое имеющееся у меня регулярное выражение должно запускаться один раз в документе, не улучшая время выполнения ИЛИ эффективность.
Конечно, другие мои варианты - это использование dateutil
модуля синтаксического анализатора или реализация техники НЛП (в настоящее время слишком много работы).
Я ищу алгоритм, который я могу реализовать, чтобы ускорить этовверх. Я кратко рассмотрел алгоритм Aho-Corasick, который кажется действительно хорошим, но который, кажется, способен обрабатывать только точные совпадения, или я ошибаюсь? Существуют ли похожие алгоритмы, более подходящие для сопоставления с образцом, или я застрял с регулярным выражением?