yargy icon indicating copy to clipboard operation
yargy copied to clipboard

Реализация lookahead/lookbehind assertion

Open tonal opened this issue 1 year ago • 1 comments

Есть ли конструкции аналогичные lookahead/lookbehind assertion регулярок? И если нет, то можно ли их просто эмулировать?

Например 9134215687 - телефонный номер А 9134215687-456 - что-то другое. В регулярке это пишется так:

tel_reg = re.compile(r'\d{10}(?=$|\s|[.,;]\s)')

tonal avatar Jul 25 '23 05:07 tonal

Не, такой функиональности нет. Приходится вручную анализировать контекст кусочка текста где сработало правило

for match in parse.findall(text):
  start, stop = match.span
  left_context = text[start-10:start]
  if re.search(..., left_context):
    continue

kuk avatar Aug 01 '23 12:08 kuk