"""Extrae direcciones MAC de un texto, con offsets.""" import re _MAC_REGEX = re.compile( r"(? list[dict]: """Extrae MAC addresses en formato `xx:xx:xx:xx:xx:xx` o con guiones. Ambos separadores deben ser uniformes (no mezcla `:` y `-` en una misma direccion — se aceptan independientemente). Insensible a mayusculas. """ results = [] for m in _MAC_REGEX.finditer(text): candidate = m.group(0) # Asegurar separador uniforme. if ":" in candidate and "-" in candidate: continue results.append({ "value": candidate, "start": m.start(), "end": m.end(), "type": "mac_address", }) return results