El 14 de septiembre de 2017, publicamos una versión revisada de nuestra Política de privacidad. Tu uso continuado de video2brain.com significa que aceptas este documento revisado, por lo que te recomendamos que dediques unos minutos a leerlo y comprenderlo.

JavaScript avanzado: Expresiones regulares

Ciclos y evaluaciones en las expresiones regulares

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
Aprende cómo integrar la evaluación de expresiones regulares con un ciclo aplicado a cadenas largas de texto, que te permitirán encontrar todas las coincidencias que desees y sacar mayor provecho a este tipo de mecanismos.
07:17

Transcripción

Conforme vas avanzando en las expresiones regulares, a veces necesitamos agregar cierto nivel de complejidad a los tipos de evaluaciones que deseamos hacer. Una de ellas, por ejemplo, es hacer un looping o iterar adentro de una cadena de texto para ir buscando también todas las iteraciones y tener exactamente el nivel de cada una. Por ejemplo, cuando nosotros utilizamos el operador global, simplemente busca en todas las iteraciones pero obviamente, te va a regresar siempre un índice y tienes que llevar un control para ir moviendo el cabezal o el índice en donde te encuentras. Para esto, por ejemplo, podemos utilizar un loop. Un loop como puede ser "while". Esa estructura de datos me va a permitir a mí ir controlando el flujo de en dónde me encuentro para continuar evaluando. Vamos a hacer un ejemplo con esto, donde tengamos una cadena de texto. Por ejemplo, vamos a poner aquí una variable que se llame "mensaje" y dentro de esta variable que se llama "mensaje", vamos a agregar una nueva cadena de texto. La cadena que estaremos utilizando será: "Llegaban por montones, primero 10, después 20, después 35 y se iban duplicando hasta llegar a 1000". Esta es una cadena de texto bastante amplia, por cierto, pero que me permitirá a mí realizar una evaluación. Si tú ves, en este caso, que se tiene un símbolo de comillas hasta abajo, es porque el espacio ya no entra. Aunque podemos hacer aquí una adecuación, y vamos a quitar esto, "y se duplicaban" y vamos a regresarlo para así tener toda la cadena de texto en una sola línea y que no nos cause confusión. Listo. Ya que tenemos entonces esta cadena de texto que vamos a evaluar, vamos a pasar ahora a revisar el patrón que estaremos utilizando. Entonces vamos a poner aquí una variable y vamos a poner patrón o expresión que es la que hemos estado utilizando previamente y vamos a escribir los símbolos que me permiten a mí generar la expresión y a partir de esto vamos a buscar un número. Entonces yo le puedo indicar aquí que busquemos un número. Un número que puede tener una o más repeticiones. Recordemos que el símbolo "\d" significa cualquier número entre el 0 y el 9 y con esto vamos indicar que son repeticiones. Pero podemos utilizar algunas de las técnicas que hemos visto y vamos a forzar a que encuentre este patrón siempre. Entonces vamos a englobar nuestra expresión como una subexpresión y vamos a encontrarle límites. ¿Para qué? Para que sea siempre este límite donde lo encuentre. En resumen, para forzar a que el patrón se encuentre adecuadamente. Entonces vamos a utilizar aquí el modificador "\b" para que nosotros podamos encontrar aquí un número específicamente. Entonces puede haber siempre números, números, números, pero jamás se va a mezclar con alguna otra parte del patrón. Entonces aquí vamos a meter el operador global y con esto ya tenemos un patrón muy específico. Y después de esto vamos a crear aquí una variable que se llame "match", que va a ser una variable donde estaremos guardando la evaluación. Ahora utilizaremos la estructura de datos "while". La estructura de datos "while" recibe una condición que se debe cumplir. En este caso, la condición que nosotros vamos a utilizar para que se cumpla será que en la variable "match" siempre exista algo. En este caso, lo que yo voy a decir es "match" va a ser igual al patrón que estoy estableciendo punto "exec". Y se va a ejecutar con el mensaje. En resumen, siempre que haya algo se va a ejecutar este ciclo, porque va a guardar algo de información en la variable "match". Si esto se ejecuta y ya no hay nada entonces "match" no va a tener ningún valor y por tanto, este ciclo no se va a ejecutar. Lo único que tendré que hacer yo será escribir en consola los valores que ya pudimos encontrar. Entonces voy a escribir "Se encontró" y vamos a utilizar aquí lo que exista actualmente en "match". Para saber qué fue lo que se encontró en esta iteración. Entonces vamos a escribir aquí coma "match" en la posición 1, que es donde vamos a tener este valor y de hecho vamos a enviar un "console.log" completo de "match" para que veas que es lo que tiene. Recordemos que "exec" siempre me va a regresar algo. Entonces ese objeto que me va a regresar es el objeto donde yo quiero acceder para armar mi cadena. Y después de este "match" vamos a ponerle "en", y dejemos un par de espacios para que la cadena se pueda completar adecuadamente. Así entonces yo estoy teniendo una cadena de tipo. Se encontró 10 en la posición tal. Entonces vamos a escribir ahora: se encontró tal contenido en tal posición. Esto es una coma y a partir de ahora vamos a escribir, por ejemplo, "match.index", que va a ser el índice donde se encontró esta iteración. Y ahora sí, vamos a probarlo. Y cuando ejecutamos vamos a ver lo siguiente. Vamos a ver cómo me dice. Se encontró el 10 en la posición 31. Después se encontró 20 en la posición 43. Después se encontró 35 en la posición 55. Vamos a corregir un poco el texto y vamos a poner aquí, en la posición, dos puntos y volvemos a ejecutar. Como puedes ver, nosotros aquí podemos estar evaluando continuamente y administrando este cabezal sin ningún problema. Así, cuando tú quieres ubicar una cadena de texto basada con un patrón dentro de una cadena muy, muy grande o dentro de un universo y saber cada una de las posiciones, no hay más que ejecutar un loop sobre este mensaje para que tú puedas llevar un control sobre en dónde se está ejecutando el cambio. Recordemos que cada vez que se ejecuta este método "exec", el cabezal va cambiando, es decir, las index se van recorriendo hasta la última posición encontrada. Por tanto, nosotros no necesitamos llevar ese control de manera manual. Aunque podemos modificarlo de inicio, pero no necesitamos llevar ese control. Una vez que este control se va cambiando por la ejecución de este método, entonces simplemente vamos obteniendo los datos de donde encontramos el resultado. De esta manera es como podemos hacer un loop o iterar dentro de una cadena de texto buscando un patrón de un número.

JavaScript avanzado: Expresiones regulares

Aprende a usar las expresiones regulares en JavaScript, ya que son un gran recurso en todo lenguaje, que te facilitará la creación de patrones o usar los ya prediseñados.

1:32 horas (23 Videos)
Actualmente no hay comentarios.
 
Software:
Fecha de publicación:5/12/2016

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.