Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EVALUAR
EXPRESIONES
REGULARES
PARALELO: ISI-S-NO-7-4
MATERIA: COMPILADORES
DOCENTE:
MOLINA CALDERON MIGUEL ALFONSO
Contenido
Grupo#8 ........................................................................................................................................ 4
CONCEPTOS................................................................................................................................... 4
Buscando patrón con expresiones regulares ........................................................................... 4
Conjunto de caracteres ............................................................................................................ 5
Rango de caracteres ................................................................................................................. 5
Abreviaciones de conjuntos de caracteres .............................................................................. 6
Metacaracteres para agrupar................................................................................................... 8
Metacaracteres para alternar .................................................................................................. 8
HERRAMIENTAS PARA PROBAR EL USO DE EXPRESIONES REGULARES ..................................... 9
Grupo#1 ........................................................................................................................................ 9
REGEXPER.................................................................................................................................. 9
DEBUGGEX .............................................................................................................................. 10
REGEX101 ................................................................................................................................ 11
Grupo#2....................................................................................................................................... 13
EXPRESSIONS .......................................................................................................................... 13
CONTADORDECARACTERES .................................................................................................... 13
REGEX - REGULAR EXPRESSION TOOL .................................................................................... 13
Grupo#3....................................................................................................................................... 13
VISUAL REGEXP ....................................................................................................................... 13
EXPRESIONES REGULARES PARA PERL. .............................................................................. 13
REGULAR EXPRESSION EDITOR (REGEXPEDITOR) ................................................................. 15
ANALIZA EXPRESIONES REGULARES EN PHP ..................................................................... 15
TABLA DE EXPRESIONES REGULARES ..................................................................................... 16
Grupo#4....................................................................................................................................... 17
REG-EXP TESTER...................................................................................................................... 18
REGEXBUDDY .......................................................................................................................... 18
Grupo#5....................................................................................................................................... 19
PYTHEX .................................................................................................................................... 19
Clases de personajes........................................................................................................... 20
Grupo#6....................................................................................................................................... 21
EN LINEA.................................................................................................................................. 21
REGEXR................................................................................................................................ 21
METRIPLICA......................................................................................................................... 22
EXTENDSCLASS .................................................................................................................... 23
MOVILES .................................................................................................................................. 24
REGEXH ............................................................................................................................... 24
GENERADOR REGEX ............................................................................................................ 24
REGEXENATOR .................................................................................................................... 25
Grupo#7....................................................................................................................................... 27
DESKTOP REGEX TOOLS .......................................................................................................... 27
RAD SOFTWARE REGULAR EXPRESSION DESIGNER (WIN) ................................................... 27
REGEXR DESKTOP (WIN, MAC, LINUX) ................................................................................... 29
WIDGET REGEX (MAC) ............................................................................................................ 29
REGEX MAGIC (WIN)............................................................................................................... 30
Herramientas Regex en línea ........................................................................................... 30
HTML2REGEXP ........................................................................................................................ 31
REWORKONLINE ..................................................................................................................... 31
Más lectura en Regex ........................................................................................................ 33
Grupo#9....................................................................................................................................... 34
REG-EXP TESTER...................................................................................................................... 34
REGEXOFF ............................................................................................................................... 35
Grupo#10..................................................................................................................................... 36
REGEXPAL................................................................................................................................ 36
DEBUGGEXBETA...................................................................................................................... 37
REGEX HERO............................................................................................................................ 38
REGEXPLANET ......................................................................................................................... 39
REGEXLIB ................................................................................................................................. 40
REGEXPAL................................................................................................................................ 41
REGEX GUI ............................................................................................................................... 42
Grupo#11..................................................................................................................................... 43
REGEXP EN LINEA.................................................................................................................... 44
Grupo#8
CONCEPTOS
Buscando patrón con expresiones regulares
publicado por Pablo López en Tutoriales el 4 de octubre de 2019
Nunca digas nunca… pero creo que esta ha sido mi última participación como ponente
en una WordCamp. Han sido cuatro años, donde he tenido la suerte y el honor de que me
escogieran en todas las WordCamps en las que he aplicado.
Por ello no puedo estar más que agradecido a los organizadores de Bilbao 16, Sevilla 16,
Santander 16, Madrid 17, Santander 17, Zaragoza 18, Barcelona 18, Granada 18, Madrid
19 y Sevilla 19.
Sin más, en esta última de Sevilla, ha sido un taller sobre expresiones regulares. El taller
constaba de una primera parte de teoría y una segunda de ejercicios prácticos para poner
en uso lo aprendido.
¿Qué son las expresiones regulares?
Las expresiones regulares son patrones utilizados para encontrar una determinada
combinación de caracteres dentro de una cadena de texto.
No se consideran lenguaje de programación
Son utilizadas para buscar patrones, realizar operaciones de sustitución, validaciones,
etc…
Se utilizan en HTML5, JavaScript, PHP… con pequeñas diferencias entre ellos
Se leen siempre de izquierda a derecha
Algunos desarrolladores cuando se enfrentan a un problema piensan que la solución es
usar expresiones regulares. En este momento, ya tienen dos problemas.
Jamie Zawinski
Caracteres y Metacaracteres
^ Inicio de regex
$ Fin de regex
* Coincide con lo anterior cero o más veces
+ Coincide con lo anterior una o más veces
? Coincide con lo anterior cero o una vez
– Definir un rango (A-Z)
{ } Repetición
( ) Agrupamiento
[ ] Un carácter o rango de caracteres
. Cualquier carácter, excepto salto de línea
\ Escape
| Elementos alternos
! Negación
El metacaracter comodín
El punto «.» es el comodín, representa cualquier carácter excepto el salto de línea. De este
modo:
De este modo, una expresión regular como esta /.a.a.a/ coincidirá con palabras como:
mañana, banana, papaya, fabada…
¿Cómo se leería esta expresión regular? Cualquier palabra que contenga cualquier
carácter seguido de una «a», seguido de cualquier carácter, seguido de otra «a», seguido
otra vez de cualquier carácter y seguido de nuevo por otra «a».
Caracteres especiales
Son los siguientes:
\t Tabulador
\v Tabulador vertical
\r Retornos de carro
\n Nueva línea
\e Escape
\0 Null
Conjunto de caracteres
Definiremos un conjunto de caracteres por medio de corchetes [ ]. Se evaluarán los
caracteres dentro del conjunto de manera individual, NO palabras completas. No importa
el orden de los caracteres dentro del conjunto.
/[aeiou]/ Buscará uno de los caracteres incluídos dentro del conjunto, en este caso
cualquier vocal.
/[áéíóú]/ Buscará uno de los caracteres incluídos dentro del conjunto, en este caso
cualquier vocal acentuada.
Da igual el orden, si buscamos /c[ao]sa/ ó /c[oa]sa/ nos coincidirá tanto con «casa» como
con «cosa».
Rango de caracteres
Logramos especificar mediante corchetes y guiones medios un rango de caracteres. Aquí
si es importante el orden unicode, es decir, podremos especificar un rango de caracteres
comprendido entre la A y la Z, pero nunca entre la Z y la A.
/[a-z]/ De la «a» a la «z», en minúsculas, alfabeto inglés, sin acentos ni “ñ”
/[A-Z]/ De la «A» a la «Z», en mayúsculas, alfabeto inglés, sin acentos ni “Ñ”
/[0-9]/ Dígitos entre el «0» y el «9»
/[a-zA-z0-9]/ Podemos definir varios rangos de caracteres dentro de un conjunto
/[á-ü]/ Todas las vocales acentuadas (acentos, circunflejos, diéresis, etc…) en minúsculas
También podemos especificar una negación o conjunto negativo de caracteres. Es decir,
que no encuentre un conjunto de caracteres definido. Para ello utilizaremos el carácter ^
dentro de los corchetes.
/[^aeiou]/ Encontrará cualquier caracter excepto las vocales
/[^«#$%&/()=*]/ Encontrará cualquier caracter excepto los definido entre corchetes
Los metacaracteres dentro de los conjuntos de caracteres ya están «escapados», excepto
los siguientes:
]–^/
/var[[(][0-9][])]/ var(9) ó var[9]
Grupo#1
REGEXPER Una herramienta imprescindible para la visualización de expresiones regulares.
CARACTERÍSTICAS
estados.
• código libre
• sin publicidad
• tiene documentación
CARACTERÍSTICAS
estados.
• Generación de código
CARACTERÍSTICAS
• Soporte de sintaxis de go
• generación de código
• referencia
▪ Editores de texto. Sí, esos programas tan básicos tipo “bloc de notas” como
▪ Google Sheets. Estas hojas de cálculo son cada vez más potentes y necesarias para el
EXPRESSIONS
Una herramienta sofisticada para mejorar tus conocimientos de
expresiones regulares en tu Mac. No importa si eres un
desarrollador, un analista de datos, un agente de
comercialización o simplemente un amante de las expresiones
regulares, vas a ver cómo esta app se ajusta perfectamente a tus
necesidades. Te ahorrará gran cantidad de tiempo en comprobar
y confeccionar tu código o tus informes incluso si eres nuevo en
esto. Ahora puedes llevar a cabo potentes búsquedas y arreglar
tus expresiones en un entorno minimalista y funcional.
CONTADORDECARACTERES
http://www.contadordecaracteres.info/prueba-expresiones-
regulares.html
Página web que nos permite verificar en un pequeño texto ciertos valores
ya especificados a través del uso de expresiones regulares.
Grupo#3
VISUAL REGEXP
EXPRESIONES REGULARES PARA PERL.
Visual RegExp permite experimentar con expresiones regulares (compatibles con Perl)
de forma interactiva. Gracias a este software, diseñar regexp (expresiones regulares) es
novedosamente sencillo, sólo tienes que introducir la expresión y ver su efecto en la
muestra que tu quieras.
Este pequeño programa te ayudará no sólo a diseñar, sino también a depurar y en general
a trabajar a tu gusto con expresiones regulares. Como normalmente es difícil escribir
expresiones regulares correctamente y en el primer intento, esta herramienta te ofrece la
posibilidad de ver los efectos de tu operación en una muestra que puedes elegir.
En su última revisión, RegExp 3.1. mejoró la interfaz de usuario para hacerla más
ergonómica y práctica. También se añadieron nuevas teclas de nevegación para
desplazarse entre coincidencias y subcoincidencias.
El programa no necesita instalación, se ejecuta directamente, pero eso sí, para hacerlo
debes tener instalado en tu equipo el script Tcl/Tk 8.5a4. Gracias a RegExp te ahorraras
el tiempo que antes dedicabas a depurar expresiones regulares, podrás construirlas rápida
y fácilmente. Como aspecto negativo sólo se puede decir que trabajar con algunas regexp
muy pesadas puede consumir mucho tiempo de tu CPU.
REGULAR EXPRESSION EDITOR (REGEXPEDITOR)
ANALIZA EXPRESIONES REGULARES EN PHP
Regular Expression Editor (RegExpEditor) es un módulo que te permite comprobar
eficazmente tu código PHP, más concretamente las Regular Expressions.
Regular Expression Editor analiza y verifica las expresiones regulares usables en
funciones preg_match(), preg_match_all(), preg_replace() y preg_quote(). Desde el
propio programa podrás cambiar tus RE y en tiempo real se te dirá si son correctas o no.
TABLA DE EXPRESIONES REGULARES
Grupo#4
REGEX HERRAMIENTAS PARA CREAR EXPRESIONES REGULARES DE
FORMA SENCILLA
Las regex son las unidades de descripción de los lenguajes regulares, que se incluyen
en los denominados lenguajes formales. Son un instrumento clave de la informática
teórica, la cual, entre otras cosas, establece las bases para el desarrollo y la ejecución de
programas informáticos, así como para la construcción del compilador necesario para
ello. Es por esto que las expresiones regulares, también denominadas regex y basadas en
reglas sintácticas claramente definidas, se utilizan principalmente en el ámbito del
desarrollo de software.
Para cada regex existe un denominado autómata finito (también conocido como
máquina de estado finito) que acepta el lenguaje especificado por la expresión y que,
con ayuda de la construcción de Thompson, se desarrolla a partir de una expresión
regular. Por otro lado, para cada autómata finito también hay una expresión regular que
describe el lenguaje aceptado por el autómata. Este puede generarse bien con el algoritmo
de Kleene o bien con la eliminación de estados.
abc. El patrón regex sencillo abc requiere una coincidencia exacta. Por tanto, se buscarán
cadenas de caracteres que no solo contengan los caracteres “abc”, sino que también
aparezcan en ese orden. Una pregunta como “¿Conoces la plaza ABC?” ofrece la
coincidencia buscada por esta expresión.
ab*c. Las expresiones regulares con caracteres especiales funcionan de manera diferente,
ya que no solo se buscarán coincidencias exactas, si no también escenarios especiales. En
este caso, el asterisco hace que la búsqueda se centre en cadenas de caracteres que
empiecen por la letra “a” y que terminen por la letra “c” y entremedias cuenten con
cualquier número de caracteres “b”. Así se mostrará como coincidencia tanto “abc”, como
la cadena de caracteres “abbbbc” y “cbbabbcba”.
REG-EXP TESTER
Es principalmente para probar sus expresiones regulares. Puede introducir una regex y un
texto para que coincida y la aplicación generará la cantidad de coincidencias regexp,
también coloreará los resultados coincidentes. También hay una segunda pantalla con una
referencia rápida en caso de que se haya olvidado de los conceptos básicos de la expresión
regular
REGEXBUDDY
Fácilmente crea expresiones regulares que coinciden exactamente lo que quiere.
Comprende claramente las expresiones regulares complejas escritas por otros. Prueba
rápidamente cualquier expresión regular en cadenas y archivos de muestra, evitando
errores en los datos reales. Depura sin adivinanzas siguiendo el proceso de coincidencia
real. Utiliza la expresión regular con fragmentos de código fuente ajustados
automáticamente a los detalles de su lenguaje de programación. Recopila y documenta
bibliotecas de expresiones regulares para su futura reutilización.
Grupo#5
PYTHEX
Las expresiones regulares usan el carácter de barra diagonal inversa ( '\') para indicar formas
especiales o para permitir el uso de caracteres especiales sin invocar su significado especial.
Esto colisiona con el uso de Python del mismo carácter para el mismo propósito en literales
de cadena; por ejemplo, para que coincida con una barra diagonal inversa literal, es posible
que tenga que escribir '\\\\'como cadena de patrón, porque la expresión regular debe ser \\,
y cada barra diagonal inversa debe expresarse como \\dentro de una cadena literal de Python
literal.
La solución es usar la notación de cadena sin procesar de Python para patrones de expresión
regular; las barras invertidas no se manejan de manera especial en un literal de cadena con
el prefijo 'r'. Entonces, r"\n"es una cadena de dos caracteres que contiene '\'y 'n', mientras
que "\n"es una cadena de un carácter que contiene una nueva línea. Por lo general, los
patrones se expresarán en código Python usando esta notación de cadena sin formato.
Es importante tener en cuenta que la mayoría de las operaciones de expresión regular están
disponibles como funciones y RegexObjectmétodos a nivel de módulo . Las funciones son
accesos directos que no requieren que primero compiles un objeto regex, pero faltan algunos
parámetros de ajuste.
Ver también El módulo regex de terceros , que tiene una API compatible con el remódulo
de biblioteca estándar , pero ofrece una funcionalidad adicional y un soporte Unicode más
completo.
Clases de personajes
\w Coincide con cualquier letra, dígito decimal o guión bajo. ver un ejemplo
\W Coincide con cualquier carácter, excepto una letra, un dígito decimal o un guión
bajo ver un ejemplo
\RE Coincide con cualquier carácter, excepto un dígito decimal. ver un ejemplo
Grupo#6
EN LINEA
Pagina: https://regexr.com/
Caracteristica:
RegExr no es precisamente una herramienta nueva pero hace poco le han dado un buen
lavado de cara, dejándola moderna, no habíamos hablado nunca en esta casa de ella y es
de utilidad evidente, pues aquí te la presentamos y recomendamos.
METRIPLICA
Al principio puede parecer un poco desalentador ver todos estos símbolos, y más si habeis
intentado entender algún código que realiza una tarea muy concreta. Os recomiendo
encarecidamente que utiliceis esta página para resolver dudas y realizar las pruebas para
ir creando poco a poco la expresión que necesitais.
https://www.metriplica.com/informes-y-estudios-de-analitica-digital/recursos-
herramientas-de-analitica/expresiones-regulares/
EXTENDSCLASS
MOVILES
REGEXH
RegexH es su aplicación para trabajar y / o aprender expresiones regulares en diferentes
niveles.
Con esta aplicación podrás comprender una expresión regex, gracias a la explicación
completa de cada uno de los elementos que la componen. Además, le permite diseñar
expresiones regulares simplemente seleccionando componentes preestablecidos.
https://play.google.com/store/apps/details?id=sky.programs.regexh&hl=en
GENERADOR REGEX
Esta sencilla aplicación ayudará a construir expresiones regulares, también conocidas
como expresiones regulares, con la ayuda de una interfaz gráfica de usuario (GUI). No
tiene que memorizar reglas y gramática complicadas, simplemente marque y escriba lo
que está buscando y se generará la expresión regular para usted.
También proporciona una hoja de trucos para buscar reglas de expresiones regulares más
complicadas.
https://play.google.com/store/apps/details?id=net.takoli.regexgen&hl=en
REGEXENATOR
Regexenator es una herramienta de expresión regular potente pero simple. Puede usar
Regexenator para crear, probar y evaluar expresiones regulares y buscar texto en las
coincidencias de sus expresiones regulares. La función Reemplazo le permite usar su
expresión regular para buscar / reemplazar texto fácilmente. Si necesita perfeccionar su
RegEx más tarde, puede guardar su trabajo y volver más tarde. Si necesita algunos
ejemplos, puede usar el Cookbook para comenzar.
https://play.google.com/store/apps/details?id=com.sevenbit.regexenator&hl=en_US
Grupo#7
Txt2ReUna herramienta pequeña para refrescar tu memoria sobre cómo armar patrones
de expresiones regulares. Admite Perl, PHP, Python, Java, Javascript, ColdFusion, C, C
++, Ruby, VB, VBScript, JSharp, C Sharp, C ++, .NET y VB.NET.
Más:
Grupo#9
REG-EXP TESTER
Si algo fácil y rápido quieres hacer esta aplicación debes de escoger, esta aplicación es
principalmente para probar sus expresiones regulares. Puede introducir una regex y un
texto para que coincida y la aplicación generará la cantidad de coincidencias regexp,
también coloreará los resultados coincidentes. También hay una segunda pantalla con una
referencia rápida en caso de que se haya olvidado de los conceptos básicos de la expresión
regular.
REGEXOFF
¡Esta aplicación es totalmente practica para poder desafiar nuestras habilidades con las
expresiones regulares ya que esta aplicación un juego de puzles gratuito donde el objetivo
es escribir expresiones regulares que coincidan con un conjunto de requisitos creados por
otros jugadores!
REGEXENATOR
Regexenator es una herramienta de expresión regular potente pero sencilla. Puede utilizar
Regexenator para crear, probar y evaluar expresiones regulares y buscar coincidencias de
texto de las expresiones regulares. La función Reemplazo le permite utilizar su expresión
regular para encontrar/reemplazar texto fácilmente. Si necesita perfeccionar su RegEx
más tarde, puede guardar su trabajo y volver más tarde. Si necesita algunos ejemplos,
puede usar el libro de recetas para empezar. Lista de características: - Actúa como un
emparejamiento RegEx y resalta las coincidencias con colores alternos - Permite la
sustitución de texto mediante una expresión de reemplazo.
Grupo#10
REGEXPAL
Es la clásica herramienta para probar expresiones regulares. Por un lado, tenemos el texto
objetivo y, por otro, la expresión regex que aplica en JavaScript.
Página: https://www.regexpal.com/
DEBUGGEXBETA
Uno de los mejores ambientes para depuración de expresiones regulares.
Características
Visualización de tu expresión regular gráficamente como si fuera una máquina de estados.
Soporte para sintaxis PCR (PHP)
Soporte de sintaxis de javascript
Soporte de sintaxis de python
Generación de código
casos para pruebas unitarias
colección de expresiones regulares destacadas
Página: https://www.debuggex.com/
REGEX HERO
En estos días me encontré con Regex Hero, una herramienta que nos ayuda a construir y
validar expresiones regulares – regex – para .NET. El uso es bastante sencillo e intuitivo,
por un lado, escribimos la expresión regular y por el otro la cadena de caracteres que
queremos comprobar. Sobre dicha cadena de texto se ira coloreando el contenido que
cumple con el patrón de búsqueda.
Página: http://regexhero.net/tester
REGEXPLANET
Las expresiones regulares son una herramienta increíblemente poderosa, pero puede ser
bastante difícil de obtener exactamente. Este es un sitio web que escribí para poder probar
rápida y fácilmente las expresiones regulares durante el desarrollo.
Página: http://www.regexplanet.com/advanced/java/index.html
REGEXLIB
Es una biblioteca de expresiones regulares de Internet. Actualmente ha indexado 24341
expresiones de 2906 contribuyentes de todo el mundo. Este sitio resulta útil y cuando
necesite ayuda para escribir una expresión, esté buscando una expresión para una tarea
en particular o esté listo para contribuir con nuevas expresiones que acaba de descubrir.
Página: https://regexlib.com/RETester.aspx
REGEXPAL
RegexPal es una aplicación para Android, es un probador de expresión regular simple y
fácil. Incluye sintaxis de expresiones regulares en tiempo real y resaltado de
coincidencias.
Página:
https://play.google.com/store/apps/details?id=com.andkorsh.regexpal&hl=es_EC
REGEX GUI
Esta sencilla aplicación ayudará a construir expresiones regulares, a.k.a. regex, con la
ayuda de una interfaz gráfica de usuario (GUI). No tiene que memorizar reglas y
gramática complicadas, simplemente marque y escriba lo que está buscando y se generará
la expresión regular para usted.
También proporciona una hoja de trucos para buscar reglas de expresiones regulares más
complicadas.
Página: https://play.google.com/store/apps/details?id=net.takoli.regexgen&hl=es_EC
Ejemplos de expresiones regulares
Página: https://docs.vmware.com/es/vRealize-Log-Insight/8.1/com.vmware.log-
insight.user.doc/GUID-88B2952D-3112-46BC-B126-84C9BF38B6D2.html
Grupo#11
REGEXP
Crea un objeto 'expresión regular' para encontrar texto de acuerdo a un patrón.
RegExp(patrón [,flags])
/patrón/flags
PARAMETROS
patrón
El texto de la expresión regular, una literal, o puede ser otro objeto RegExp en formato
ES5 (este ultimo usa el segundo constructor mencionado arriba), los patrones pueden
incluir caracteres especiales, lo cual permite un mayor rango de coincidencias, en
comparación con una literal simple.
flags
Si se especifica, indica las flags a utilizar, si el valor de pattern es un objeto RexExp, este
parámetro reescribe las anteriores flags y lastIndex se inicia a cero como en ES2015, si
flags no es especificado se usan las flags y el lastIndex anteriores. El valor de flags es una
cadena que puede contener uno o varios de los siguientes valores.
Búsqueda global (global match); encuentra todos los resultados en vez de parar después
de la primer búsqueda exitosa.
REGEXP EN LINEA
Se va a realizar las busquedas de las palabras escritas en vista normal en el texto que se
encuentra en la siguiente imagen. Las palabras se encontraran marcadas.
Patrón que obtuvimos después de la búsqueda realizada en el texto.