Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

Saltar al contenido principal
Gizke.com
Blog

Probador de regex

Funciona en tu dispositivo. No se envía nada.

Indicadores

Patrones comunes

Texto de prueba

No se encontraron coincidencias

Explicación

Escribe un patrón arriba para ver un desglose de lo que hace cada parte

Prueba, explica y depura expresiones regulares de JavaScript con resaltado de coincidencias en vivo, completamente en tu navegador.

Una expresión regular (regex) es un patrón usado para coincidir, encontrar o reemplazar texto: la misma herramienta que hace funcionar el buscar y reemplazar en editores de código, la validación de formularios y el análisis de registros. Este probador ejecuta el motor de regex nativo de JavaScript directamente en tu navegador: escribe un patrón y un texto de prueba, y resalta cada coincidencia, descompone los grupos de captura, previsualiza los reemplazos y explica en lenguaje claro qué hace cada parte del patrón. Nada de lo que escribas se sube jamás a ningún sitio.

Preguntas frecuentes

¿Qué variante de regex usa esto?
El motor de regex nativo de JavaScript (el que hay detrás de RegExp y String.prototype.match/replace), ya que todo aquí se ejecuta del lado del cliente en tu navegador en lugar de en un servidor. Es muy similar a PCRE pero tiene algunas diferencias: por ejemplo, la compatibilidad con lookbehind depende de la versión del motor, y los grupos con nombre usan la sintaxis (?<nombre>...).
¿Por qué mi patrón solo coincide una vez?
Por defecto, sin el indicador g (global), un regex se detiene después de su primera coincidencia; así se comportan realmente RegExp.exec() y String.match() en JavaScript. Activa el indicador g arriba para encontrar todas las coincidencias del texto de prueba en lugar de solo la primera.
¿Cuál es la diferencia entre (...) y (?:...)?
Ambos agrupan partes de un patrón, pero solo (...), un grupo de captura, guarda lo que coincidió para que puedas referenciarlo después (como $1, $2, ... en un reemplazo, o en la lista de grupos de la coincidencia). (?:...) es un grupo sin captura: agrupa y aplica cuantificadores sin conservar la coincidencia, útil cuando necesitas agrupar pero no te importa el texto capturado.
¿Cómo funcionan los grupos con nombre y los reemplazos $<nombre>?
Escribe (?<nombre>...) en lugar de (...) para capturar un grupo con un nombre en lugar de solo un número. En el modo Reemplazar, refiérete a él en el texto de reemplazo como $<nombre>. Por ejemplo, (?<anio>\d{4})-(?<mes>\d{2}) reemplazado por $<mes>/$<anio> reordena una fecha sin necesidad de recordar los números de grupo.
¿Cuál es la diferencia entre un cuantificador codicioso (greedy) y uno perezoso (lazy), como + frente a +??
Un cuantificador codicioso (+, *, {2,4}) coincide con todo lo que pueda, y solo retrocede si es necesario para que coincida el resto del patrón. Un cuantificador perezoso (el mismo símbolo seguido de ?), en cambio, coincide con lo menos posible y solo se amplía carácter a carácter cuando hace falta. Por ejemplo, <.+> frente a <a><b> coincide de forma codiciosa con todo <a><b>, mientras que <.+?> coincide de forma perezosa solo con <a>.
¿Qué comprueban realmente lookahead y lookbehind si no consumen ningún carácter?
Comprueban si un patrón aparece justo antes o después de la posición actual sin incluirlo en la coincidencia en sí; así, (?=...) y (?<=...) comprueban hacia adelante/atrás que algo debe estar presente, mientras que (?!...) y (?<!...) comprueban que no debe estarlo. Por eso puedes usar \d+(?=px) para hacer coincidir un número solo cuando va seguido de «px», aunque «px» en sí nunca aparece en el texto coincidente.
Para desarrolladores: abre esta página con los parámetros `q` (el patrón) y `text` (el texto de prueba) en la URL (p. ej., gizke.com/regex?q=\d+&text=There are 42 apples) y ambos se rellenan automáticamente. La mayoría de los visitantes no lo necesitarán; está pensado para enlazar directamente a un ejemplo listo para usar.

Comparte esta herramienta

BlogAcerca deContactoTérminos de usoPolítica de privacidad