yargy
yargy copied to clipboard
Реализация lookahead/lookbehind assertion
Есть ли конструкции аналогичные lookahead/lookbehind assertion регулярок? И если нет, то можно ли их просто эмулировать?
Например 9134215687 - телефонный номер А 9134215687-456 - что-то другое. В регулярке это пишется так:
tel_reg = re.compile(r'\d{10}(?=$|\s|[.,;]\s)')
Не, такой функиональности нет. Приходится вручную анализировать контекст кусочка текста где сработало правило
for match in parse.findall(text):
start, stop = match.span
left_context = text[start-10:start]
if re.search(..., left_context):
continue