"""Extrae direcciones de email de un texto, con offsets.""" import re _EMAIL_REGEX = re.compile( r"(? list[dict]: """Extrae emails (RFC 5322 simplificado) con offsets. No valida MX ni que el TLD exista — solo estructura sintactica. La parte local acepta letras, digitos y `._%+-`. El dominio exige al menos un punto y termina en componente alfanumerico. """ return [ { "value": m.group(0), "start": m.start(), "end": m.end(), "type": "email", } for m in _EMAIL_REGEX.finditer(text) ]