Lo que hace este visualizador de regex
Las expresiones regulares son escritas solo para la mayoría de la gente: fáciles de escribir, difíciles de leer una semana después. Esta herramienta analiza su patrón en un árbol de sintaxis y lo muestra de tres maneras. Un diagrama de ferrocarril dibuja el patrón como una vía que se puede seguir de izquierda a derecha, con ramas para la alternancia, bucles para la repetición y cajas etiquetadas para los grupos. Una explicación en lenguaje sencillo recorre cada token ("uno o más dígitos", "año del grupo nombrado", "no seguido por"). Y los fragmentos de código muestran cómo usar el patrón exacto con el escape correcto en JavaScript, Python, Go, Java, C #, PHP y Rust. Una cadena de pruebas en vivo resalta coincidencias mientras escribe.
Cómo usarlo
- Escriba o pegue un patrón. Puedes incluir barra y banderas como
/^\d{4}-\d{2}$/gmo ingresar las banderas por separado. - Sigue el diagrama del ferrocarril para ver la forma general del patrón.
- Lea la lista de explicaciones para una descripción de token por token.
- Introduzca una cadena de prueba para ver qué coincide y qué grupos capturan qué.
- Copia un fragmento ya hecho en tu idioma.
Leyendo el diagrama del ferrocarril
- Las casillas redondeadas son texto literal; las casillas cuadradas son clases de caracteres como digit o uno de az.
- Una trayectoria que se divide en rieles paralelos es una alternancia (
a|b). - Un carril que se vuelve debajo de una caja significa "repetir"; un carril que pasa por alto la caja significa "opcional".
- Los cuadros marcados son grupos; los grupos de captura están numerados y los grupos nombrados muestran su nombre.
- Los miradores se dibujan como marcos etiquetados porque revisan el texto sin consumirlo.
Consejos
- Prefiero
\dy clases de caracteres sobre las alternativas largas para la velocidad y la claridad. - Los cuantificadores perezosos (
*?,+?) se muestran con "lo menos posible" en la explicación. - Al transferir patrones, recuerde que el motor RE2 de Go no admite miradas o referencias hacia atrás; el fragmento de Go le advierte cuando su patrón los usa.
- Escape backslashes en literales normales de cadenas, o usar cadenas sin procesar (
r"..."en Python, backticks en Go) como lo hacen los fragmentos.