Extractor de emails — Saca correos, enlaces e IPs de cualquier texto
Extractor de correos y contactos
Direcciones de correo electrónico — 2
- hello@example.com
- sales@wrightkit.com
| Correos electrónicos | 2 |
| URL | 2 |
| Números de teléfono | 2 |
| Direcciones IP | 1 |
| Usuarios de redes sociales | 1 |
| Total de elementos únicos | 8 |
La extracción se ejecuta íntegramente en tu navegador, así que el texto pegado nunca sale de la página. Los números que aparecen dentro de correos y URL se excluyen de la lista de teléfonos y los duplicados se agrupan. La búsqueda por patrones no puede interpretar el contexto: un número de pedido de nueve dígitos es indistinguible de un número de teléfono, así que revisa el resultado antes de fiarte de él.
Qué es
Una expresión regular es un pequeño lenguaje de patrones para describir la forma que tiene un texto. Puede decir «unas letras, luego una arroba, luego un dominio con un punto» o «cuatro grupos de uno a tres dígitos separados por puntos», y puede hacerlo sobre un megabyte en milisegundos. Lo que no puede es comprender el significado: una expresión regular no sabe si 4155550132 es un teléfono o un número de pedido, si example.com responde o si la persona ha consentido en ser contactada. Reconoce formas, y todo lo difícil de la extracción vive en esa distancia entre forma y significado. Esa distancia es máxima con las direcciones de correo. La RFC 5322 define una dirección como parte local, arroba y dominio, y permite parte local entre comillas, comentarios entre paréntesis, dominios literales IP como user@[192.168.0.1] y prácticamente cualquier carácter dentro de una cadena entrecomillada. Validar una dirección correctamente exige implementar una porción enorme de esa gramática, así que las herramientas prácticas aceptan un compromiso: coinciden con un subconjunto conservador y asumen que se escapan algunas direcciones válidas. El patrón que se usa aquí ancla la coincidencia en el carácter anterior a la parte local y exige al menos una etiqueta separada por punto en el dominio, que es lo que captura la immense mayoría de direcciones reales mientras descarta cosas como el perfil @usuario o el símbolo @ suelto en un registro de cambios. El fallo clásico de un extractor ingenuo es tragarse la puntuación final del texto.
Una expresión escrita como «caracteres, arroba, caracteres, punto, caracteres» aplicada a «Escríbenos a soporte@ejemplo.com.» devuelve encantada soporte@ejemplo.com. con el punto incluido. Todo el que ha escrito un scraper se ha=topado con esto, y el resultado es una bandeja llena de direcciones que terminan en punto, coma o paréntesis. La solución es una aserción de límite al final que se niega a extender la coincidencia hacia un carácter de palabra o un punto, más una pasada de limpieza para las URLs, donde un paréntesis de cierre puede ser legítimo pero el punto de cierre de frase nunca lo es. Los teléfonos son más difíciles, y un paso resulta contraintuitivo: los dígitos que viven dentro de un correo o de una URL deben enmascararse antes de empezar a buscar números. Piensa en soporte+ventas42@empresa.com o en https://ejemplo.com/factura/20240115: ambos contienen tramos de dígitos que cumplen cualquier patrón de teléfono razonable. La forma de evitarlo es rellenar esas regiones con espacios de la misma longitud antes de ejecutar el patrón de teléfono, lo que además conserva la posición de todos los demás caracteres y no afecta a las coincidencias del resto del texto. Aun así, los falsos positivos son inevitables. Un número de pedido de nueve cifras, un identificador de cliente, una marca de tiempo como 20240115120000 o un código de producto tipo A12345678901 tienen todos la silueta de un teléfono y ninguno lo es.
Una expresión regular no puede mirar las palabras que los rodean para decidirse, y por eso la salida es un punto de partida que hay que revisar, no una lista final. Los formatos internacionales agravan el problema: prefijo internacional con signo más, números nacionales con un cero inicial que debe conservarse, separadores que pueden ser puntos, espacios, guiones o paréntesis, y extensiones. El compromiso que funciona es contar los dígitos y quedarse solo con los que tienen entre 7 y 15, intervalo que cubre desde los números nacionales más cortos hasta los E.164 más largos, descartando números sueltos de dos cifras e identificadores largos. Las direcciones IPv4 son la única categoría que se puede validar en serio, porque su forma es fija: cuatro octetos decimales separados por puntos, cada uno entre 0 y 255, y sin ceros a la izquierda en la especificación moderna. El patrón coincide octeto a octeto en lugar de buscar dígitos sueltos, así que 999.1.1.1 y 192.168.01.1 se rechazan correctamente, y las aserciones de impiden que el patrón arranque un fragmento de una versión tipo 1.2.3.4.5 o de una dirección IPv6. Los perfiles sociales son aún más sencillos, pero necesitan una mirada hacia atrás negativa de @ y # para que una dirección de correo nunca produzca un perfil con su propia parte local. Como nada de esto debería necessitate enviar tu texto al servidor de otro, todo aquí es JavaScript dentro de la página: sin subidas, sin colas y sin cuenta. El precio de esa decisión es que el trabajo queda acotado por el tamaño de texto que un navegador puede alojar cómodamente.
Cómo usar
- Pega o escribe tu texto en el área grande de la parte superior de la tarjeta. La tarjeta incluye un párrafo de ejemplo con correos, enlaces, teléfonos, una IP y un perfil, para que veas el formato antes de usar tu propio contenido.
- Mira los cinco botones de categoría que hay bajo el área de texto: Emails, URLs, Phone numbers, IP addresses y Social handles. Cada uno muestra un contador entre paréntesis que se actualiza al escribir, así que las pestañas sirven además como comprobación rápida de que el texto se pegó completo.
- Abre la pestaña Emails para ver todas las direcciones encontradas. Los duplicados se colapsan, de modo que un valor mencionado diez veces aparece una sola vez, y el título bajo las pestañas repite el total de esa categoría.
- Cambia a URLs, Phone numbers, IP addresses o Social handles de la misma manera. Cada pestaña muestra la lista sin duplicados o el aviso de que no se encontró nada de ese tipo, lo que distingue rápido «no hay nada» de «el texto no tiene el formato esperado».
- Lee la tabla de totales del pie de la tarjeta: enumera las cinco categorías con sus recuentos y una fila en negrita de Total unique items, que es la cifra que conviene citar al informar del resultado.
- Selecciona un valor de la lista y cópialo directamente, o pega el texto en una columna de hoja de cálculo para seguir trabajándolo. Como nada sale de la página, puedes hacerlo con seguridad incluso con datos de contacto reales.
Ejemplos
Entrada: Reach the team at hello@example.com or ping sales@wrightkit.com for pricing.
Proceso:
Se aplica el patrón de email, se exige dominio con punto, se colapsan repetidos y la aserción de límite rechaza el punto finalResultado: Emails (2): hello@example.com, sales@wrightkit.com
Entrada: Docs: https://wrightkit.com/guides and http://example.org/docs?page=2 — office line +1 (415) 555-0132.
Proceso:
Las URLs se detienen antes del guion largo, se recorta el punto de fin de frase y luego se enmascaran los dígitos de los enlaces antes de buscar teléfonosResultado: URLs (2): https://wrightkit.com/guides, http://example.org/docs?page=2 | Teléfonos (1): +1 (415) 555-0132
Entrada: Server 192.168.1.10 handles uploads. Order 4155550132 shipped. Follow @wrightkit.
Proceso:
La IPv4 se valida octeto a octeto, el número de pedido de 9 cifras entra en el rango de 7 a 15 y se conserva, y el perfil se detecta con la mirada hacia atrás de @Resultado: IPs (1): 192.168.1.10 | Teléfonos (1): 4155550132 (revisar: puede ser un pedido) | Perfiles (1): @wrightkit
Entrada: Una respuesta de 300 palabras con hello@example.com dos veces y la IP 10.0.0.256 no válida.
Proceso:
Las coincidencias idénticas se funden en una fila y el octeto IPv4 fuera de rango no supera la validación, así que no se lista nadaResultado: Emails (1): hello@example.com | IPs (0): 10.0.0.256 rechazada, un octeto supera 255
Búsquedas Relacionadas
La gente también busca: extractor de emails, extraer correos de texto, buscar emails en un texto, encontrar direcciones de correo, extractor de telefonos, extraer numeros de telefono.
extractor de emailsextraer correos de textobuscar emails en un textoencontrar direcciones de correoextractor de telefonosextraer numeros de telefonoextractor de urlsextraer direcciones ipbuscar ip en textoextractor de handlesbuscar usuarios de redesexpresiones regulares extraerextraer datos de contactolimpiar datos de textoherramienta de texto onlineanalizador de texto gratisenriquecer lista de contactosprocesar texto en el navegador
Preguntas Frecuentes
¿Encontrará todas las direcciones de correo de mi texto?
Ningún extractor puede prometerlo, y el motivo honesto es la forma de la gramática de direcciones, no un fallo del programa. La RFC 5322 permite parte local entre comillas, dominios IP entre corchetes y sintaxis de comentarios, así que un patrón que lo reconociera todo reconocería también un montón de tonterías. Esta herramienta coincide con el subconjunto conservador que representa la realidad y deja pasar intencionadamente las formas raras. Si tienes los datos en tu poder, exportarlos del sistema de origen es mucho más fiable que analizar texto.
¿Por qué no aparecen como teléfonos los dígitos de correos y URLs?
Porque esas regiones se rellenan con espacios de idéntica longitud antes de ejecutar el patrón de teléfono, de modo que sus dígitos nunca llegan al detector mientras el resto de caracteres conserva su posición. Sin ese paso, una dirección como soporte+ventas42@empresa.com o un enlace de factura que acaba en 20240115 producirían teléfonos fantasma, ya que cualquier ristra de dígitos dentro del rango se parece a un número. La misma lógica de enmascaramiento mantiene fuera de la lista de teléfonos los números de versión y los códigos de referencia.
¿Por qué mi número de pedido de nueve cifras aparece como teléfono?
Porque el patrón de coincidencia ve formas, no significados. Un número de pedido de nueve cifras y un móvil de nueve cifras son la misma cadena para una expresión regular, y distinguirlos exige comprender las palabras que los rodean, algo que los patrones no pueden hacer. El extractor conserva entre 7 y 15 dígitos para resultar útil con formatos nacionales e internacionales, lo que incluye deliberadamente la mayoría de números de pedido. Revisa la lista de teléfonos con el contexto de la frase antes de usarla, o separa el texto para que los identificadores no compartan bloque con los datos de contacto.
¿Qué formatos de teléfono reconoce la pestaña de teléfonos?
Maneja las formas que más se ven en texto real: prefijo internacional opcional con signo más, código de área opcional entre paréntesis y grupos de dígitos separados por espacios, puntos o guiones. Después se filtra por número de dígitos, quedándose con los que tienen entre 7 y 15, de modo que sobreviven tanto los números nacionales cortos como los internacionales largos y se descartan números sueltos. Los formatos con separadores raros o con el nombre del país escrito no se reconocen, y tampoco los números que parten una línea en mitad de un grupo.
¿Maneja direcciones IPv4 y evita falsos positivos con IPv6?
La coincidencia de IPv4 es estricta, algo posible porque el formato es fijo: cuatro octetos decimales entre 0 y 255 separados por puntos. Cualquier valor por encima de 255, o con demasiados o pocos octetos, se rechaza, así que 999.1.1.1 se ignora. Las aserciones de límite también impiden que el patrón arranque un fragmento de una cadena con puntos más larga, como un número de versión, que es la fuente habitual de IPs falsas. Las direcciones IPv6 no se reconocen y solo aparecerán en la pestaña de URLs cuando formen parte de un enlace.
¿Se sube a un servidor el texto que pego?
No. Los patrones se ejecutan como JavaScript dentro de la pestaña de tu navegador, así que el texto se lee del área y nunca se transmite, se registra ni se almacena. Esto importa especialmente justo para la entrada para la que está pensado esta herramienta, porque el texto pegado suele ser un hilo de soporte o una ficha de cliente llena de datos personales. La única consecuencia práctica de trabajar en el cliente es que las entradas muy grandes están limitadas por lo que una página puede alojar cómodamente, no por una ida y vuelta de red.
¿También puedo extraer perfiles de redes sociales?
Sí, la pestaña Social handles recoge los valores que empiezan por arroba seguidos de una letra y hasta treinta caracteres alfanuméricos o guiones bajos, lo que cubre las reglas de nomenclatura de las principales redes. Una mirada hacia atrás negativa evita que la arroba del inicio de un correo genere un perfil falso con su parte local, y los duplicados se colapsan igual que en el resto de categorías. Ten en cuenta que un perfil es solo eso: no te dice en qué red está la cuenta y cualquiera puede reclamarlo.