- Este artículo analiza cómo calcular la diferencia y la intersección de dos expresiones regulares (regexes).
- El autor muestra el proceso proporcionando ecuaciones y resultados como α < β = false, α = β = true, α > β = false, α & β = α ^ β = ∅, α - β = ∅.
- Además, este artículo incluye una breve introducción a la siguiente gramática de expresiones regulares:
. coincide con cualquier carácter individual
xy es concatenación: coincide con x y luego con y
x|y es alternancia: coincide con x o y
x* es estrella de Kleene: coincide con x cero o más veces
(xyz) es agrupación: trata xyz como un solo elemento
() es una expresión regular vacía que coincide con la cadena vacía
x+ es plus de Kleene: coincide con x una o más veces
x? es opcional: coincide opcionalmente con x
x{n} es potencia: concatena x consigo mismo n veces
x{m,n} es repetición: concatena x consigo mismo de m a n veces
[a-z0-9] es agrupación: coincide con cualquier carácter individual dentro del grupo
[^a-z0-9] es agrupación negada: coincide con cualquier carácter individual que no esté dentro del grupo
\c es escape: coincide con el carácter especial c
\u001a es escape Unicode: coincide con el carácter UTF-16 correspondiente
a, b, c son todos los demás caracteres que coinciden consigo mismos.
- El artículo también menciona características no soportadas, como anchors, aserciones de ancho cero, backreferences, extracción de subgrupos, búsqueda o coincidencia parcial, y otras banderas que cambian el comportamiento.
- Para más información, el autor menciona consultar la página de GitHub de
antimirov.
- El autor de este artículo es Eiríkr Åsheim, conocido como @d6 en Twitter y Mastodon.
1 comentarios
Comentario de Hacker News
regexes).regexescomplejas, como las que filtran números divisibles entre 3.regexen varias formas y finalmente generar código en distintos lenguajes.regexde unión e intersección que genera la herramienta, y sugirieron que producir una expresión regular mínima podría ser un reto aún mayor.regexdadas, y los usuarios la consideraron impresionante.regexde URL y direcciones de correo electrónico sintácticamente válidas.regexpara mejorar la usabilidad en dispositivos móviles.regexpara escribir la lógica de validación de una configuración de "filtro IP RegEx", lo que ayudó a evitar que los usuarios se quejaran de que el filtro no funcionaba.