Cómo dominar expresiones regulares en Javascript | Steven Hancock | Skillshare
Buscar

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Cómo dominar expresiones regulares en Javascript

teacher avatar Steven Hancock, Founder All Things JavaScript

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción

      2:55

    • 2.

      Una breve historia de las expresiones regulares

      4:45

    • 3.

      Comienzo

      7:03

    • 4.

      Uso de expresiones regulares

      13:11

    • 5.

      Comprender las etiquetas de expresión regulares

      5:27

    • 6.

      Uso de regla

      4:59

    • 7.

      Comprender los Metacharacters

      5:11

    • 8.

      Usar la tarjeta de Wildcard

      3:09

    • 9.

      Metacharacters

      3:45

    • 10.

      Combinar los personajes de control

      4:10

    • 11.

      Ejercicio 1 Start

      1:44

    • 12.

      Acabado de ejercicio 1

      6:59

    • 13.

      Uso de los grupos de personajes

      7:15

    • 14.

      Determinación de un personaje

      10:26

    • 15.

      Excluir un juego de personajes

      4:39

    • 16.

      Escaping los Metacharacters en un conjunto de personajes

      3:08

    • 17.

      Usar la cortos para los Sets de personajes

      7:46

    • 18.

      Ejercicio 2 inicio

      1:41

    • 19.

      Acabado de ejercicio 2

      3:03

    • 20.

      Usar Repeticiones en tu patrón

      11:02

    • 21.

      Entender la oscura y la oscuridad

      9:40

    • 22.

      Determinación de la cantidad de la petición

      9:05

    • 23.

      Revisiting de conceptos animados y perezosos

      3:57

    • 24.

      Ejercicio 3 comienzo

      1:55

    • 25.

      Acabado de ejercicios 3

      9:33

    • 26.

      Comprender las expresiones ancladas

      1:09

    • 27.

      Usar los anclados de principio y final

      4:26

    • 28.

      Usar la bandera de varias línea

      6:12

    • 29.

      Trabajar con los límites de palabra

      7:04

    • 30.

      Escribir expresiones regulares

      8:27

    • 31.

      Ejercicio 4 inicio

      1:24

    • 32.

      Acabado de ejercicio 4

      5:22

    • 33.

      Opciones de especificación

      7:08

    • 34.

      Uso de la agrupación

      6:41

    • 35.

      Uso de la Agrupación con JavaScript

      9:37

    • 36.

      Comprender los grupos de capturar

      8:16

    • 37.

      Comprender las referencias de grupo

      5:48

    • 38.

      Usar grupos de Lookahead

      14:35

    • 39.

      Usar grupos de miradas negativos

      2:49

    • 40.

      Ejercicio 5 inicio

      1:12

    • 41.

      Acabado de ejercicios 5

      5:36

    • 42.

      Introducción

      1:55

    • 43.

      Uso de personajes de Unicode

      4:46

    • 44.

      Comprender las características de es6 Unicode

      5:16

    • 45.

      Aplica las expresiones regulares

      1:06

    • 46.

      Ajustar una dirección de correo de correo

      8:03

    • 47.

      Combinar un asa de Twitter

      3:17

    • 48.

      Prueba de claves

      7:07

    • 49.

      Usar la expresión habitual

      8:11

    • 50.

      Compara una palabra junto a otra palabra

      5:43

    • 51.

      Flas de Validación

      7:22

    • 52.

      Captura de texto Capturing

      8:16

    • 53.

      Descubrimiento de la información sobre un matrimonio

      5:17

    • 54.

      Itar sobre los partidos

      7:52

    • 55.

      Conclusión

      3:23

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

272

Estudiantes

--

Proyecto

Acerca de esta clase

Las expresiones regulares pueden ayudarte a resolver más problemas de programación. Son una herramienta importante en tu caja de herramientas de codificación de coding Si has dabbled con expresiones regulares o ni las las antes, este curso es para ti. Aprenderás la sintaxis y participarás en varios ejemplos y ejercicios para ayudarte a integrar expresiones regulares en tu programación de Java.

En la forma de dominar las expresiones regulares en Java. Nos centramos en dos objetivos principales, lo que te ayuda a aprender expresiones regulares y a cómo crearlas, y enseñarte las las las expresiones regulares en JavaScript. Si trabajas en el lenguaje de Java, este curso será más útil, pero incluso si trabajas en otro idioma, puedes utilizar este curso para aprender sobre las expresiones normales, ya que la sintaxis en muchos los idiomas de programación.

Si estás listo para dominar las expresiones comunes, ¡este curso es para ti!

Conoce a tu profesor(a)

Teacher Profile Image

Steven Hancock

Founder All Things JavaScript

Profesor(a)

I have 20+ years experience in training and product development and 15+ years using JavaScript. I started learning JavaScript when it was a new language used for minor affects on web pages. The growth and ubiquitous nature of JavaScript both excites and inspires me.

Currently I am the President and Lead Trainer of All Things JavaScript, a resource for anyone and everyone that hopes to increase their JavaScript skills. Our goal is to assist in the journey from JavaScript novice to expert.

I have been the co-owner and President of Rapid Intake, an eLearning firm. The company was an ideal place to put my training and development skills to work. While there I managed all development and professional service related activities. I was heavily involved in the initial development ... Ver perfil completo

Level: Beginner

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción: bienvenido a dominar expresiones regulares en script Java. Este curso te ha traído por todas las cosas JavaScript. Yo soy Stephen Hancock y seré tu instructor. Ahora, las expresiones regulares a veces son un tema que se evita. La sintaxis no es fácil de entender. Entonces cuando se necesita una expresión regular, muchos salen y buscan esa expresión regular que logre lo que quieren y con ello eviten crearla ellos mismos. En este curso, aprenderás a construir tus propias expresiones regulares. Aprenderás a entender esto en impuestos y aprenderás cómo pueden ayudar a resolver ciertos problemas de programación. Lo que aprendiste sobre las expresiones regulares en este curso se puede aplicar a una serie de idiomas diferentes. Pero a lo largo del curso, veremos cómo usar expresiones regulares dentro de JavaScript. Por lo que aquí están los temas que estaremos cubriendo. En primer lugar, nos ocuparemos de lo básico, y eso incluye una corta historia y para qué se pueden utilizar las expresiones regulares. Hablaremos de las diferentes formas en que puedes usar expresiones regulares en script Java. El objeto rechaza y el rapero de objeto de cadena se pueden utilizar con expresiones regulares. Te mostraré cómo probar expresiones regulares que podrían ser muy útiles cuando estás montando las tuyas, para que puedas verificar que las cosas funcionarán como tú quieras. Bueno, mira a definir patrones. De eso se trata realmente las expresiones regulares. Definición de patrones. Hablaremos de meta personajes y conjuntos de personajes. Analizaremos la repetición y agrupaciones y expresiones ancladas que cubriremos. Mira hacia adelante las aserciones, y veremos cómo usar Unicode dentro de expresiones regulares. Y luego veremos expresiones regulares útiles, las que se usan más comunes. Mira cómo se crean y ayúdame a entenderlas para que puedas ajustarlas a tus propias necesidades. Ahora, a lo largo del curso, te haré completar tareas y cuestionarios. Estos te darán la oportunidad de practicar los conceptos que has estado aprendiendo. Los archivos llegan a asignación, y los archivos de algunas de las conferencias están disponibles para su descarga. Por último, si tienes preguntas a medida que avanzas por el curso, asegúrate de hacerlas. Reviso las preguntas con frecuencia y proporciono respuestas. Otros estudiantes también pueden proporcionar sus respuestas, así que empecemos a dominar expresiones regulares 2. Una breve historia de las expresiones regulares: antes de sumergirnos y empezar a aprender y usar expresiones regulares, hablemos de lo que son y de dónde vienen. En primer lugar, veamos cómo podemos usar expresiones regulares. Esa es la mejor manera de entender lo que son. Entonces digamos que tenemos este texto, esta cita por guardia de golpe, y queremos quitarle toda la puntuación de ella. Una forma sería recorrer cada letra y compararla con marcas de puntuación y luego eliminarla usando métodos de cadena. Pero una forma de bateador es crear una expresión regular que coincida con los signos de puntuación y luego usar el método de reemplazo cuatro cadenas para reemplazar esas marcas de puntuación por nada. Las expresiones regulares proporcionan una manera mucho mejor de cumplir ciertas tareas. Digamos, por ejemplo, que necesitamos revisar una contraseña para ver si cumple ciertos criterios que hemos establecido para contraseñas que se podrían hacer con una expresión regular. Digamos que necesitamos verificar la entrada de una dirección de correo electrónico para asegurarnos de que cumpla con el formato de una dirección de correo electrónico que se puede hacer con expresiones regulares. ¿ Qué tal si necesitamos determinar el número de veces que aparece una palabra determinada en una frase que podría hacerse con expresiones regulares. ¿ Y si necesitamos analizar un archivo de registro para ciertos datos? Una vez más, podemos usar expresiones regulares. ¿ Y si necesitamos trabajar con la U. R L para extraer cierta información de esa chica que se podría hacer con expresiones regulares ? Todas estas situaciones se pueden hacer con expresiones regulares, y así básicamente, proporcionan otra poderosa herramienta para ti cuando estás tratando de resolver problemas de programación . Entonces, ¿cuándo se desarrollaron por primera vez las expresiones regulares? El concepto fue desarrollado en 1950 muerde matemático Steven King, y describió como una forma de identificar el lenguaje regular. Y creo que de ahí proviene el nombre de expresiones regulares es de que intentaba identificar eso. Y eso fue, como se puede ver hace muchos años, así que lleva un tiempo por ahí. Se volvió utilizado regularmente por unidad como parte de las utilidades que Aaron unidad para procesar texto. Ahora puede que hayas oído hablar de grap antes de que incluso hayas usado agarrar. ¿ Has usado UNIX en el pasado? Ahora lo que grab representa es la búsqueda global de expresión regular y coincidencia de impresiones Así que grap aplicó aquellos conceptos que fueron desarrollados por Stephen King y ayudan a hacerlos populares. Ahí es donde se hicieron populares como parte de UNIX. Ahora ocurrieron muchas variaciones diferentes, pero luego se normalizaron por el estándar Paszek. Ese es un punto importante porque una vez que algo se estandariza, lo hace así. Se puede utilizar en muchos lugares diferentes, y se agarra porque la gente no tiene que aprender diferentes formas de hacerlo ahora. utilizó una versión de expresiones regulares en Pearl en los 19 años ochenta. Esa fue quizás la primera vez que comenzó a utilizarse en lenguajes y lenguajes de programación . Y luego en 1997 Philip Hazel desarrolló PCR E, que es un estándar para expresiones regulares y se ha utilizado en muchas, muchas herramientas modernas. Ahora PCR E significa expresiones regulares compatibles con perla. Por lo que vino de ese trabajo inicial y Pearl. Ahora la razón por la que esto es importante en la razón por la que te presento esto es que la sintaxis de expresión regular que vas a estar aprendiendo se aplica a una serie de cosas diferentes. Sí, vamos a estar buscando específicamente el script Java ahora para usar en un JavaScript Pero esta sintaxis y la gramática que usamos para definir los patrones en la expresión regular son comunes a través múltiples lenguajes y múltiples herramientas. Hay ligeras diferencias que puedes encontrar, pero la mayoría de la sintaxis y la gramática es común, y ese es un punto importante a recordar. Entonces lo que aprendes sobre las expresiones regulares aquí puedes aplicar en otros lugares, así que empecemos a aprender sobre ellas. 3. Comienzo: como se mencionó anteriormente, las expresiones regulares son forma de representar patrones. Cuando estás trabajando con cualquier tipo de entrada textual, no siempre puedes estar seguro cuál será el valor. Y así usas un patrón. El gran parte sobre el aprendizaje de expresiones regulares es dedo del pie aprender esta sintaxis que describe esos patrones. Pero antes de que podamos hacer eso, primero necesitamos crear una expresión regular. Veamos cómo haríamos eso en el script Java. Entonces, en primer lugar, una expresión regular es un objeto en javascript. Eso probablemente no te sorprenda si has estado alrededor del script Java durante algún tiempo causa Muchas cosas en JavaScript son objetos, mientras que las expresiones regulares no son una excepción. Ahora hay dos formas de crear expresiones regulares. Como saben, con los objetos definidos por el usuario en JavaScript, hay dos formas de crearlos. Hay dos formas de crear un aumento. Uno es una sintaxis literal, y otro está usando el constructor que es el mismo para los objetos de expresión regular. Entonces aquí está el método que utiliza el constructor, así que tenemos una variable que hemos declarado, y luego la sentamos igual a nueva expresión regular. Raggi, X, P y dentro de las comillas está el patrón que estamos pasando en el patrón que queremos que esta expresión regular busque Now, la sintaxis literal para expresiones regulares se ve así. Una vez más, declaramos la variable. Por supuesto, ponemos eso igual a, y luego tenemos una línea inclinada hacia adelante, que es el inicio de ese patrón de expresión regular. Aquí está el patrón. Otra barras inclinadas hacia adelante marca el final de ese expreso regular, por lo que esas son las dos formas de crear expresiones regulares. Ahora bien, en estos dos ejemplos, ¿cuál es el patrón que estaba definiendo? Bueno, ahora mismo, todo lo que estamos definiendo es texto literal, así que texto literal Hola y el mundo textual literal. Entonces es un patrón muy simple en este punto, pero está mostrando cómo crearías esa expresión regular Object. Ahora, Una vez que tengas un objeto rechaza, puedes usarlo con uno de los métodos que está disponible en el constructor de expresiones regulares o que está disponible en el rapero de objeto de cadena. Esas son las dos áreas dentro de JavaScript donde podemos usar objetos de expresión regular . Entonces para empezar, veamos un ejemplo. Esta página, que actualmente estoy mostrando, es en realidad una página HTML Voy a saltar a Sublime. Sublime es el editor de texto de Choice for the Work que hago aquí es esa página html que acabo de mencionar ahora asociada a esta página html. Tenemos un archivo app dot Js y aquí está el archivo app dot Js. Entonces vamos a ver cómo podemos usar las expresiones regulares que acabamos de ver como ejemplo dentro de este archivo de app dot Js. Entonces haremos que cambie este código. Bueno, entonces refresca esta página y ve cuáles son nuestros resultados. Entonces vamos a configurar primero esas mismas dos expresiones regulares que acabamos de ver. Entonces declaramos la variable y establecemos que igual a ésta usa el constructor nuevo Reggie XP y ahora estamos pasando. El patrón, que es compañero en la segunda vía, utiliza la sintaxis literal. Entonces con este, utilizamos barras inclinadas hacia adelante para definir el patrón de expresión regular. De acuerdo, ahora, usemos ambos objetos con uno de esos métodos que mencioné están disponibles en el objeto de expresión regular o en el rapero de objeto de cadena. Entonces solo voy a iniciar sesión en la consola. El resultado de esto eso es todo lo que haremos en este punto. Y así conseguiré la primera expresión regular. Y así, como se trata de un objeto de expresión regular, hay cierto método disponible. Uno de esos métodos que está disponible es test, y esto nos permite probar algún texto para ver si el patrón que creamos coincide. Y así el texto que vamos a pasar está aquí mismo. Ahora deberíamos poder ver si este patrón está igualado. Y como puedes ver, está la palabra Hola dentro de esta cadena por lo que coincidirá. Dirá que sí. Encontré ese patrón dentro de este sueño. Ahora ocurrirá lo mismo con el 2do 1 porque ahí está la palabra mundo. Y como dije, ambos de estos patrones o simplemente texto literal en este punto, no estamos haciendo nada loco. Entonces echemos un vistazo a ese 2do 1 también. Eso probaremos y pasaremos en el mismo texto. Ahora, ¿qué va a devolver esto? ¿ Cuál es el método de prueba? ¿ Regresar? Bueno, es simplemente cheques para ver si este patrón es igualado. Si lo es, devuelve verdadero. Si no lo es, devuelve culpa así que eso es todo lo que vamos a ver. Entonces, solo echemos un vistazo así de rápido. Guarda eso. Saltaré y lo refrescaré, y luego sólo abriré la consola. Y como pueden ver, obtenemos un verdadero en una verdad. Por lo que en ambos casos, esos encontraron una coincidencia. El patrón Hola es parte de esta cuerda, y el mundo de patrones es parte de esta cuerda. Eso es lo que nos está diciendo ahora. ¿ Y si cambiamos este 2do 1 dedo del pie mundos? Ese es el texto literal que buscamos. Guarda esa actualización. Por supuesto, ahora la segunda bitácora cónsul es falsa. No encontró partido, por lo que esto es genial. Hemos creado nuestra primera expresión regular, y en realidad la hemos usado usando el método de prueba. Pero, ¿cuántas aplicaciones hay realmente a ese método de prueba? Tiene que haber otras formas de usar expresiones regulares, y hay Eso es lo que estaremos viendo en el siguiente tema. 4. Uso de expresiones regulares: en la película anterior. Miramos una expresión regular muy simple, y la usamos con el método de prueba del objeto rechazado. Esta es una forma de usar expresiones regulares en datos textuales, pero test no lo es. El único método está disponible. Tenemos varios métodos que podemos utilizar. Hay dos en el objeto Rechazos y cuatro métodos que están disponibles en cadenas que nos permiten trabajar con expresiones regulares en datos textuales. Primero vamos a ver varios ejemplos de cada uno de estos métodos y luego resumiremos esos métodos al final. Por lo que aquí estaban trabajando las expresiones regulares en la última película. Ahora voy a cambiar este 1er 1 para usar el mismo método literal de definir la expresión regular . Ese es el método que prefiero. Ese es el método que prefieren la mayoría de los desarrolladores de JavaScript. Es simplemente más sencillo escribir, mucho más directo ahora. Hicimos prueba, y básicamente lo que conseguimos. Su resultado de prueba es o falla de gira. Si encontrara una coincidencia en el gravado, devolvería true y notaría con los métodos en el objeto de expresión regular pasamos en la cadena que queremos realizar la coincidencia de patrones en Así que cualquier método que utilicemos de la expresión regular creamos primero la expresión regular, y luego pasamos en una corriente, igual que hemos hecho aquí. Por lo que el segundo método que está disponible en los objetos de expresión regular es exacto. Entonces déjame cambiar de prueba a exacta y echemos un vistazo a eso. Abre el cónsul. Observe que en ambos casos obtenemos una matriz. Si abrimos esa matriz, podemos ver la primera entrada. Sólo tiene una entrada, un elemento, el rayo. Y es el texto real el que coincidió con el patrón. Ahora, como estamos usando un patrón simple en este momento, que es solo texto literal, entonces el texto real que coincide es el mismo es ese patrón tan exacto devuelve una matriz de todas las coincidencias de la cadena que pasamos. En este caso, tenemos un solo partido. Obtenemos una entrada en la matriz, pero notamos que también proporciona información adicional disminuida. Tenemos una propiedad de índice. Este es el índice de dónde ocurrió el partido. Entonces si echáramos un vistazo a esa cuerda y empezáramos a contar con cero el inicio del partido sería 41. De lo que se indica aquí en el índice, también tenemos el insumo. Entonces esta es básicamente la cadena que se pasó en esa historia es una propiedad de esa matrices . Bueno, entonces tenemos alguna información adicional sobre la tarifa, no sólo los partidos que se lograron. Podemos ver lo mismo con la segunda coincidencia, Así que ese es el método exacto que está disponible en los objetos de expresión regular. Por lo que tenemos dos métodos test y exact. Ahora también tenemos métodos que están disponibles es parte de una cadena. Por lo que creamos una cadena aquí txt cuando las cuerdas aire creadas en JavaScript, tienen un rapero de objeto de cadena que proporciona algunos métodos que podemos usar para trabajar con esa cadena. Algunos de esos métodos nos permiten utilizar expresiones regulares. Hay un total de cuatro que queremos mirar. Entonces déjame comentar estas declaraciones, y ahora vamos a estar trabajando con la cuerda. Entonces al igual que con el objeto de expresión regular que usamos, no sintaxis toe acceder a esos métodos. Por lo que txt dot max es el 1er 1 que vamos a ver ahora. Usted en el objeto de expresión regular. Pasamos en el arroyo sobre los métodos de cadena que pasamos en la expresión regular. Por lo que dentro de paréntesis todos pasan en Reg. Exe uno. Ahora veamos qué produce eso. Este es el método de coincidencia. Aviso. Nos está dando exactamente lo mismo que exactamente hace en el objeto rechazado. Nos da el partido, el texto del partido. Nos da el índice y nos da la cadena que se utilizó. Por lo que match en string y exact en el objeto rechazado son los mismos. Producen el mismo tipo de salida, que es una matriz. Ahora veamos las búsquedas de búsqueda. Otro método. Podemos usarme decir que refresco. Básicamente, toda búsqueda sí nos da el índice. Ahora bien, si estamos haciendo algún tipo de declaración donde necesitamos el índice del partido, entonces la búsqueda es una forma más fácil de obtenerlo que tratar de sacarlo de El aireado se produce con el método de coincidencia. Entonces si solo queremos el índice, entonces usaríamos la búsqueda. Ahora, los dos métodos siguientes, vamos a ver estos aires, probablemente el más utilizado con expresiones regulares, sobre todo el siguiente, y éste se reemplaza. El propósito de reemplazos para permitirnos sustituir algún texto. Cualquiera que sea el texto que coincida, el patrón que pasamos con la expresión regular reemplaza ese texto por algunos algún otro texto. Por lo que reemplazar toma dos parámetros. El 1er 1 es una expresión regular. El 2do 1 es el texto con el que queremos reemplazarlo, por lo que vamos a estar buscando un patrón que coincida con el texto literal. Hola y estuvimos reemplazando eso por el texto. Hola, Sigamos adelante y guardemos esa actualización. Aquí está nuestra nueva cadena con hola reemplazada por la palabra alta ahora algo que es importante tener en cuenta aquí escribiendo txt impress Return notó que la cadena sigue siendo la misma, así que reemplazar no hizo un cambio en la cadena porque su inmutable. No obstante, sí devolvió una nueva cadena, y eso es lo que estamos mostrando con nuestra declaración de registro de punto cónsul es la nueva cadena con el hello reemplazado por la palabra high. Por lo que reemplazar es un método en cadenas que se usa frecuentemente con expresiones regulares. Muy bien, un método más al que queremos mirar y eso ya está dividido. Probablemente uses split en el pasado Split básicamente es un método que te permite convertir una cadena en una matriz, y la forma en que lo hace es especificar en qué carácter o caracteres quieres realizar la división. Entonces qué caracteres actúan es el er delimitador para determinar los elementos de la matriz. Entonces, como ejemplo, retirar el segundo perímetro. Sólo tenemos un parámetro se dividió. ¿ Y si fuéramos a utilizar la expresión regular con el patrón? Hola. Lo que va a pasar aquí es que va a buscar una la palabra hola y se va a utilizar como un er delimitador y así va a crear una matriz con dos elementos. El primer elemento tendrá todo arriba y antes Hola. El segundo elemento tendrá todo después del hola, El hola se elimina porque se convierte en el er delimitador. Entonces echemos un vistazo a eso. Dices esa actualización. Aquí tenemos los dos elementos en la matriz. Los cursos de programación siempre comienzan con un espacio y luego ejemplo mundial. Está bien. Ahora ese no es un uso muy práctico de split. Te muestra cómo funciona, pero no es súper práctico. Ah, aplicación frecuente. Tengo de Split es tomar una cuerda y dividirla en espacios para que pueda trabajar con. Es cada palabra individual. Esto generalmente se hace cuando estoy trabajando con cursos en línea que creo, y estoy en un quiz haciendo algunas pruebas, y eso requiere que el usuario ingrese una frase, y necesito verificar esa frase. Esa es una forma en que lo haré. Por lo tanto, permítanme ilustrar cómo se haría eso. Cambiemos la expresión regular para indicar un espacio la forma en que indicamos un espacio en una expresión regular es con una slash s. Así que ahora cuando ejecutemos la división, se va a crear una matriz de todas las palabras en nuestra cadena. Déjame decir eso Salta, refresca Y aquí está nuestro rayo. Consiste en todas las palabras, Así que esos son los métodos que están disponibles para usar expresiones regulares en JavaScript. Repasemos esos realmente rápido. Entonces primero en el objeto Reg exe tenemos prueba. Devuelve True si el patrón se encuentra en el pastoreo o falso, si no es así, test es el tipo de método que utilizaríamos si estuviéramos realizando algún tipo de evaluación condicional es exacta. Recuerde devuelve una matriz de coincidencias y muestra el texto real en los elementos de la matriz , el texto que coincidió con el patrón y luego, además, sus propiedades adjuntas a esa matriz, el índice del partido y la cadena textual en la que se realizó el partido. Entonces esos son los dos métodos que están disponibles en el objeto de expresión regular. Ahora hay 1/3 método porque objeto de expresión regular es un objeto. Está el método de dos cadenas, pero básicamente lo que devuelve es simplemente una cadena de la sintaxis de expresión regular. Por lo que se vería exactamente así si hiciéramos a cadena en rechazos, también. No realmente nada útil sobre eso, pero pensé que lo mencionaría. Dado que está disponible ahora, veamos los métodos que están disponibles en las cadenas. En primer lugar, tenemos partido. Ahora recuerda, esto es igual que exacto en los objetos de expresión de radio, por lo que match devuelve una matriz de coincidencias, y tiene un índice que se asigna a la propiedad en la matriz y el flujo real que la coincidencia se realizó en Siguiente tenemos búsqueda, Recuerda, usamos la búsqueda si solo queremos obtener el índice del flujo del partido. Eso es todo lo que nos preocupa es el índice de dónde ocurrió. El número del primer carácter de ese partido cero representaría el primer carácter de la corriente. Entonces hemos sustituido. Este es el método que se utiliza muy común con las expresiones regulares, y el propósito es reemplazar cualquier coincidencia que encontremos con la cadena que pasamos. Y entonces finalmente podemos dividir una cadena en una matriz, y la división se basa en el patrón de expresión regular. Ahora split se puede usar con solo texto plano que podría convertirse en el ER delimitador, pero también podemos usarlo con una expresión regular si lo decidimos. Entonces esos son los cuatro métodos que están disponibles en cadenas. Muy bien, pasemos al siguiente tema. 5. Comprender las etiquetas de expresión regulares: antes de ir más lejos, necesitamos hablar de banderas de expresión regular. este aire a veces se les llama modificadores también. Estas banderas afectan la forma en que un patrón ha coincidido. Echemos un vistazo a cómo los usamos y cómo afectan a la coincidencia de patrones. Entonces, en primer lugar, si queremos especificar una bandera para un patrón de expresión regular, lo hacemos después de la barras inclinadas hacia adelante. Si estamos usando el método constructor, viene como una segunda cadena dentro de los paréntesis, por lo que ya sea después de la última slash hacia adelante en la definición del patrón o es una segunda cadena en el príncipe ve. Es así como especificamos estas banderas. No, aquí las tres de las banderas más comunes que te toparás con First off es global. El bandera global le dice al patrón que coincida globalmente, lo que significa que encontrará cada coincidencia para ese patrón dentro de la cadena. Si no usas global, solo encuentra el primer partido y luego se detiene por lo que global se usa con frecuencia. Otra que se usa con bastante frecuencia es la insensibilidad de mayúsculas y minúsculas. El bandera I le dice que haga una coincidencia insensible a mayúsculas y minúsculas, lo que significa que el caso ya no importa. Coincidirá tanto en mayúscula como en minúscula del patrón. Ahora, si usas ambas banderas juntas de lo que tendrías un G I o I G. De cualquier manera, finalmente, finalmente, 1/3 bandera que se ve es un partido de varias líneas, y nos ocuparemos del partido de varias líneas cuando busquemos al principio y al final de los caracteres. Entonces aquí está el ejemplo con el que hemos estado trabajando en este momento en nuestra primera expresión regular, tenemos un espacio. Adelante y modifiquemos eso. Busquemos una S seguida de un espacio para que esto no coincida. Pero esto lo haría y esto y demás. Adelante y cambiemos esto para que coincida. Guarda eso y vamos a refrescarnos. Estamos consiguiendo un solo partido. Eso es todo lo que tenemos. Se presenta uno s, y esa es una posición 18. Entonces es encontrar este año, pero no es encontrar a otros, y eso es porque no estamos usando bandera global. Entonces si agrego una G, guarda esto, vuelve a salir y refresca de nuevo. Ahora vemos que obtenemos tres partidos. El rayo tiene tres en él, así que eso es lo que nuestra bandera global hará por nosotros. Ahora, digamos que uno de estos asnos es era mayúsculas digamos eso y veamos qué obtenemos. Por supuesto, ahora sólo llegamos a para que no encuentre la mayúscula s porque entramos una s minúscula, podríamos entrar una actualización s mayúscula y encontraría la. Pero si queremos conseguir todos los activos y no nos importa cuál sea el caso, entonces ahí es donde usamos el I flag el caso. Bandera insensible. Guarda eso. Y ahora los recuperamos de nuevo. Ahora quiero mostrarte cómo difiere el método exacto de expresión regular cuando se trata de la bandera global. Entonces déjenme poco común ent esta declaración de registro de consola. Yo también voy a comentar este, pero voy a cambiar esto al mismo ritmo. Expresión regular. Adelante y clement ese fuera y lo guardaremos y refrescaremos No se dan cuenta de lo que obtenemos . Sólo obtenemos una entrada y este es el índice 18. Pero la segunda declaración de registro va al segundo índice de partidos 25. Seguimos haciendo eso en el mismo código. Obtenemos tres apareciendo La sentencia de registro de la cuarta consola regresa. No, porque no encontró coincidencia por lo que conserva un índice de dónde encontró el partido. En la próxima vez se invoca el método exacto. Comienza con ese índice. Así funciona eso. Así funciona el método exacto de expresión regular. Entonces toma nota de eso. No es común aprovechar esa pequeña característica, pero si la necesitas, podría ser bastante valiosa. Muy bien, pasemos al siguiente tema. 6. Uso de regla: antes de sumergirnos más profundamente en expresiones regulares, necesito hablar de una herramienta que estaremos utilizando a lo largo de este curso. Esta herramienta es tan útil, estoy seguro de que seguirás usándola. Se llama proyectos Powell ahora rechaza. Pau proporciona una forma para que pruebes rápidamente una expresión regular. utilizaremos a lo largo del curso para aprender toda la sintaxis involucrada en las expresiones regulares . No obstante, aún tendremos ejercicios que requieren que resuelvas problemas de JavaScript. Pero a medida que experimentemos y aprendemos la sintaxis de las expresiones regulares, estaremos usando rechazos, Pal. Entonces, echémosle un vistazo. Aquí está el sitio. Vas a los rechazos de acceso del dedo, Pal. Déjenme mostrarles algunas de las partes aquí mismo en este campo es donde entrarían su expresión regular. Abajo. Aquí es donde coloca un anillo de texto para ver si coincide con alguno de los elementos de esa cadena de texto . Como se puede ver por defecto, se elige JavaScript. Entonces esa es la sintaxis de expresión regular que se usará, que es muy común a la mayoría de las expresiones regulares en impuestos. Y también tienes la capacidad de agregar banderas, nota cómo, ahora mismo la bandera global ha sido elegida porque aparece aquí en este lleno donde entramos a la expresión regular, muestra que lo estamos entrando como un literal, que es como vas a estar creándolos en script Java. Normalmente. Ahora, otras partes de esta página Web se puede ver que hay una hoja de tramposos. Esto es genial ya que pasamos y aprendemos la diferencia en impuestos con expresiones regulares. Esta es una gran manera de mirarlos y recordarlos. Puedes guardar una expresión regular si encuentras una que sea útil. Y luego hay algunas expresiones regulares superiores. Se usan comúnmente, y echaremos un vistazo a algunos de estos pedacitos más tarde. Ahora, una cosa que sí quiero saber antes de que realmente probemos esto mostrar cómo funciona es que me gusta tanto esta herramienta quiero asegurarme de que reconozcas quién la ha desarrollado, y puedes visitar otras herramientas creadas por este desarrollador yendo a bailar tools dot com Este enlace aquí abajo, tiene una serie de utilidades diferentes y cosas que ha creado, y esta es probablemente la que más uso, pero hay muchas otras útiles por ahí también. Está bien, así que veamos cómo funciona el poder rechaza. Permítanme primero copiar en un comunicado. Lo voy a pegar en este relleno aquí. Entonces esa es nuestra cuerda que vamos a estar revisando para un partido. Ahora, sigamos adelante y tecleemos algo que allí podamos igualar. Hemos escrito Hola y obtenemos un partido en la primera ocurrencia. No obtenemos coincidencia en la segunda ocurrencia porque recuerden, se trata de caracteres literales. Y ahora mismo la H está en minúsculas. Entonces este es el único que tiene una H en minúsculas ahora. No obstante, si activamos aquí la bandera insensible a mayúsculas y minúsculas, entonces igualamos ambas porque tenemos la bandera I y la bandera G tan global. Por lo que coincide con más de un insensible a mayúsculas y minúsculas. Por lo que ignora el caso. Ahora, si apagamos global, obviamente que todavía sólo era coincidir con el 1er 1 Ahora, si queremos incluir marca de puntuación, podemos Así que los caracteres literales no son solo texto en sí mismos, sino que puede ser otras cosas también. Ahora, algunos de esos signos de puntuación que encuentras en el texto tienen ciertos significados en la sintaxis de expresión regular y estarán introduciendo esos. Entonces cuando te encuentres con uno de esos, necesitarás escapar de ellos, y hablaremos de eso en un video posterior. Ahora déjame apagar la bandera del caso y volver a la global. Y ahora sólo pongamos un simple partido. Veamos cuántas A's hay en esta declaración. Sólo una A. Veamos cuántas facilidad. Ah, un montón de estos. Para que veas cómo funciona y como resalta diferentes cosas que coincidirá ahora. Esto se vuelve realmente útil a medida que entramos en la sintaxis, que es a donde nos dirigimos a continuación. Pero los proyectos clave pal abren en una de tus pestañas porque estaremos volviendo a ello con frecuencia. Muy bien, pasemos al siguiente tema. 7. Comprender los Metacharacters: en esta sección, vamos a introducir metapersonajes. Pero primero quiero decir algunas cosas sobre los personajes y cómo se procesan las expresiones regulares , aunque muchos de los ejemplos simples que hemos utilizado hasta ahora son con palabras. Para poder pensar correctamente en las expresiones regulares, debes pensar en patrones que se construyen a partir de personajes individuales. Al igual que las palabras se construyen a partir de personajes individuales. Cuando el motor busca una coincidencia, funciona a través de esta cuerda de un carácter a la vez. Al encontrarse con cada personaje, A determina si se ajusta al patrón o no. Si el patrón consta de múltiples caracteres, entonces debe determinar el primer carácter de un patrón, y luego el siguiente carácter y así sucesivamente hasta que encuentre una coincidencia o determine que no es una coincidencia. Si no se encuentra ninguna coincidencia, entonces el motor debe rebobinar la cadena al siguiente carácter y secuencia y comenzar todo de nuevo. Entonces déjame ilustrar eso, porque creo que es algo importante de entender cuando se trata de expresiones regulares. Entonces aquí tenemos una expresión regular, simplemente la palabra Hola, pero necesitamos pensar en ello como que consta de cinco letras. Ahora aquí hay una cuerda. Veamos cómo el motor procesaría esta expresión regular. Entonces primero empieza en la primera letra y comprueba si es Imagine. Sí, es el inicio de este patrón. Y así tenemos un partido. Entonces va a la segunda letra. ¿ Eso encaja? Sí, sí lo hace. Después va a la tercera letra. No, eso no encaja con el patrón. Y así entonces tiene que rebobinar. Ya esta probado este. Pero tiene que rebobinar a este segundo personaje aquí mismo y un C comprueba para ver. ¿ Es esto un partido? No, no lo es. Entonces se mueve al tercer personaje. ¿ Eso es un partido? No. ¿ Eso es un partido? No. ¿ Es un espacio para igualar? No. ¿ Es esto un partido? Sí. Entonces empieza. Vuelve a revisar el partido. ¿ Una segunda letra es un partido? Sí, lo es. Tercera carta es un partido. Sí, eso también es un partido. No obstante, la cuarta letra no se ajusta al patrón. Entonces vuelve a rebobinar a esta e cheques que no hay cheques de partido que no hay cheques de partido que no coincidan entonces llegamos aquí. ¿ Está Adam en Jess? Sí, sí, sí, sí, y eso encaja con el patrón completo. Y así entonces tenemos un partido, un partido completo, y lo marca como partido. Y si la bandera global no es sábado, entonces se detiene en ese punto. Si la bandera global es sat, entonces continuará si hay más de la cadena a evaluar. Entonces así es como el motor procesa expresiones regulares. Buscando partidos tiene que rebobinar cuando está buscando múltiples personajes para asegurarse que está encontrando coincidencias que podrían ocurrir ahora. Obviamente, no llegaríamos muy lejos si pudiéramos Onley usar el valor literal de un personaje a la hora determinar un patrón. Entonces si sólo pudiéramos usar lo que realmente escribimos es un patrón. No hay mucha flexibilidad en eso. Por lo tanto, las expresiones regulares tienen una serie de caracteres, y en su mayoría son signos de puntuación que se utilizan para representar a otros caracteres, y estos se denominaron meta caracteres. Muchos personajes conforman gran parte de la sintaxis de las expresiones regulares, y son estos meta caracteres los que pueden hacer que las expresiones regulares sean confusas de mirar. Primero echemos un vistazo a cuáles son esos personajes medicos. Aquí están. Y, como puedes ver, son en su mayoría marcas de puntuación. Ahora estos aires, todos los personajes separados y todos significan cosas diferentes en expresiones regulares, y estaremos aprendiendo qué significan cada uno de estos a medida que pasemos por este curso. Entonces, como se puede imaginar, cuando se mira una expresión regular que contiene varios de estos, aparece como algo extraño y difícil de interpretar hasta que se sabe lo que significan los personajes medic . Una vez que sabes lo que significan los muchos personajes, entonces puedes decidir por esa expresión regular y entender el patrón que está tratando de identificar. Entonces estos son los metapersonajes. Echemos un vistazo al primer hombre de carácter. Vamos a aprender el comodín, así que pasemos al siguiente tema. 8. Usar la tarjeta de Wildcard: El primer personaje meta que vamos a ver es el comodín. El comodín está representado por un punto. Ahora la mayoría de todos están familiarizados con el concepto de comodín. Puede ser cualquier cosa. Entonces, cuando se usa un punto en la expresión regular, representa cualquier carácter individual, con la excepción de algunos caracteres de control como New Line. Por lo que es importante recordar que se trata de un solo personaje, no de múltiples caracteres. Entonces veamos algunos ejemplos. Déjame pegar en una cadena de texto. Esto es lo que va a estar probando, y sigamos adelante y pongamos una expresión regular. Vamos a usar un H que un carácter comodín. Y luego en T literal y con la bandera global, podemos ver que coincide con más de una instancia dentro de la cadena. H. A T es un partido, y también H O T. Ahora, como mencioné, puede representar más cualquier personaje. Entonces veamos H y luego una puntuación marque un NT. Sí, conseguimos un partido ahí. Miremos también H Space t y conseguimos un partido ahí y noto, pesar de que estos dos partidos aire juntos notan que los considera como dos partidos separados . Se puede ver cómo se separan en poder de rechazo. Ahora, como se mencionó, en Lee representa un solo personaje. Entonces si tenemos una iglesia 00 T, no conseguimos un partido ahí. También, dije, representa a casi todos los personajes. Hay algunos caracteres, caracteres no principales que sí coincide, por ejemplo, que no coincide, por ejemplo,con por ejemplo, un nuevo carácter de línea. ¿ Y cómo podemos mostrar un nuevo personaje de línea? Bueno, voy a escribir un retorno de prensa de edad y luego tipo de té y esos no nos dan un partido ahí. Técnicamente hay un personaje. Hay un personaje no imprimible después de esa edad, lo que hace que vaya a una nueva línea, y no está coincidiendo con eso. No obstante, hay algunos caracteres no imprimibles que sí coinciden. Por ejemplo, un tabulador. Déjame copiar las letras H tab, té y ritmo ALS en. Por lo que se trata de una iglesia con carácter tabulador y luego la letra T y que coincide. Por lo que el comodín representado por un periodo coincide con casi cualquier personaje. Ahora, ¿qué harías si quisieras especificar que el patrón incluyera un punto, no un comodín, sino el personaje real. Un periodo. ¿ Cómo lidiarías con eso? Bueno, echemos un vistazo a eso a continuación. 9. Metacharacters: en una película anterior, miramos una gran, larga lista de personajes medic. Echemos un vistazo a esa lista una vez más, así que aquí está. Ahora, ¿qué hacemos si queremos incluir uno de esos meta caracteres como parte del patrón , no lo que representa el personaje sino su valor literal? ¿ Cómo haríamos eso? Bueno, podemos lograr eso escapando del personaje. El carácter de la eslora contraria representa un carácter de escape Cuando lo usamos, le dice al motor que el carácter que sigue a la contralora debe usarse como el carácter literal, no lo que pueda representar. Echemos un vistazo a eso. Déjame copiar en otro arroyo. Entonces aquí está la cuerda que vamos a usar para tratar de encontrar una coincidencia. Ahora, ¿y si quiero definir una D? eso le siguió un periodo inmediatamente seguido de un periodo. Bueno, digamos que entro a esta mirada. Conseguimos dos partidos. Obtenemos este D, seguido de un espacio, y obtenemos este D seguido de un punto, y eso se debe a que el periodo en este caso es un comodín, y así representa cualquier personaje. Y así estamos consiguiendo un partido que no queremos. No queremos este partido aquí. Nosotros sólo queremos este. Entonces lo que tenemos que hacer es escapar de ese personaje y decirle al motor encendido. Lee busca su valor literal, no lo que representa. Y así usamos una contraluz para escapar de ella ahí. Ahora sólo emparejamos el d con el periodo que le sigue, que es lo que realmente queríamos lograr ahora. ¿ Cómo sabes cuándo debes escapar de un personaje? Bueno, si tienes una hoja de tramposos, puedes ver algunos de los personajes que se usan dentro de expresiones regulares. Pero puede que no siempre tengas eso a tu lado. Por ejemplo, cualquier personaje pero aceptar Nueva Línea nos está diciendo lo que representa el DOT. Y así cuando vemos eso y queremos usar su valor literal, sabemos que tenemos que escapar de él. Bueno, ¿y si no lo hacemos? No. O no estamos seguros de que tengamos algún signo de puntuación, pero no estamos seguros si debemos escapar o no. Bueno, no va a doler escapar a ningún personaje, aunque no sea necesario. El personaje de la contralga simplemente se comunica con el motor. Usa el valor literal, literal para el personaje que sigue, y el motor lo hará ahora ¿Qué pasaría si estuviéramos buscando una contralenta en nuestro patrón aquí abajo ? Queríamos ver una carta seguida de una contrasta. Bueno, es el mismo principio. Si quieres usar un valor literal de una contralora, simplemente te escapas de ella. Entonces, con lo que terminas es con la contracción de los personajes juntos. Y ahí vemos, obtenemos nuestro partido. Entonces, a medida que quieras usar el valor literal de un carácter de materia en tu expresión regular, simplemente escapa de él usando un carácter de dirección inclinada contraria. Muy bien, pasemos al siguiente tema. 10. Combinar los personajes de control: en una película anterior, miramos a hacer coincidir un carácter de tabulación, usando el carácter meta comodín. El periodo. Bueno, ¿qué haríamos si quisiéramos igualar el valor literal del tabulador? El comodín lo igualaría porque coincide con casi todos los personajes. Pero ¿y si quisiéramos especificar un tabulador? Bueno, llevamos esto con un personaje de control. Echemos un vistazo a algunos personajes de control. El listón trasero T representa una pestaña. El retén trasero V de lengüeta vertical de la lengüeta y la nueva línea de la contralora se llevan retorno. Sin darse cuenta de que cada uno de estos caracteres de control utilizó el carácter Xscape, la contralga, para representar otra cosa. Entonces, cuando usamos una Barra inclinada contraria con una marca de puntuación en indica, debe ser el valor literal de ese carácter. El valor literal de la marca de puntuación cuando lo usamos con un personaje como en este caso es un televisor y ella son puede representar otra cosa, y podemos ver que con estos personajes de control, ya que sí representa otra cosa. Entonces veamos un ejemplo de cómo usaríamos estos caracteres de control aquí en mi cadena de prueba . Tengo varias versiones de la letra h seguida de algo y luego la letra t. En el primer caso, es hlt. Se trata de H tab T H I T h carro Retorno T o Nuevo Mentir t. Así que si hiciéramos el comodín como lo hicimos anteriormente, coincidiría con tres de esos. No coincide con la nueva línea porque el carácter comodín no puede coincidir con un nuevo carácter de línea . Pero ¿y si lo que quería Onley agarrar al que tenía una ficha entre ella? Bueno, yo conduzco eso con el personaje de control para tap, que es back slash t y ahí obtenemos un partido. Ahora ¿Qué tal si quisiera agarrar el H seguido de un nuevo personaje de línea seguido de una T? Bueno, yo podría hacer eso con el nuevo personaje de control mentiroso y eso coincide ahora. ¿ Cómo lo sé? ¿ Cómo sabrías si usar nueva línea o retorno llevado o qué combinación de ellos usan y cuál es la diferencia? tanto que nueva línea y llevada vuelves atrás a los días de la máquina de escribir y llevaban retorno tradicionalmente está destinado a ir al frente de la línea. Nueva línea es es que saltaste una línea ahora, cual usas en tu expresión regular, depende del sistema que estés usando. Por ejemplo, estoy en un Mac, y es un Mac más nuevo, y así la siguiente línea se representa con el nuevo personaje de línea. No obstante, en un sistema de ventanas, puede estar representado por el retorno llevado y el nuevo carácter de línea juntos, lo que una Barra inclinada contraria son el extremo de la contralora. Y entonces lo que solías representar una nueva línea o un retorno de carro depende del sistema que estés trabajando. Y así es posible que solo necesites probar esa expresión regular para asegurarte de que estás obteniendo lo que necesitas. Y en toda realidad, realmente necesitas estar probando cualquier expresión regular para asegurarte de que está haciendo lo que quieres que haga. Por lo que una cosa más que mencionar sobre el personaje de Nueva línea. Esto es lo mismo que un personaje de alimentación mentiroso. En ocasiones se habla de esa manera, por lo que los caracteres de control permiten crear una expresión regular que coincidirá con el valor literal de algunos caracteres no imprimibles, como las pestañas llevadas Return Nueva línea. Muy bien, pasemos al siguiente tema 11. Ejercicio 1 Start: hemos llegado al primer ejercicio de JavaScript ahora para cada uno de los ejercicios. En este curso, estaremos utilizando el navegador como el dedo del motor JavaScript. Manejar nuestro código. Si estás más cómodo con nota u otra solución, siéntete libre de usar tu solución favorita. Para hacer los ejercicios. Ejercicio de alcance. Se te dará un archivo HTML, un archivo CSS, un archivo de script Java. Introduce tu código en el archivo de script Java y luego abre el archivo HTML en el navegador para ver si lo completaste correctamente para ver los resultados de tu código. Eres bienvenido a mostrarlo en la página HTML, pero en la mayoría de los casos acabaremos de anotar los resultados finales al cónsul solo para mantenerlo sencillo. Entonces veamos el primer ejercicio. Aquí está el archivo de script Java para el primer ejercicio y el archivo HTML las instrucciones para el ejercicio o en la parte superior del archivo de script Java que indica el uso de la matriz proporcionada necesaria. Aquí mismo, esta matriz de números telefónicos crea una segunda matriz que Onley incluye los números con un código de área 801. Ahora, para aquellos que quizá no estén familiarizados con los códigos de área. El código de área es básicamente el 1er 3 números en ese número telefónico. Entonces lo que estamos viendo ahí que he destacado. Así que tómese unos minutos para averiguarlo. Tanto el script de Java como la expresión regular que usarás con el script de Java para resolver esto. Y cuando estés listo, puedes revisar la solución. 12. Acabado de ejercicio 1: Muy bien, echemos un vistazo a la solución ahora. Estos primeros varios ejercicios no van a ser demasiado complejos porque aún no hemos cubierto mucha expresión regular, expresión, sintaxis. Y así los datos que estoy proporcionando, estoy haciendo mucho más fácil identificar o encontrar coincidencias. Y ese es el caso de este ejercicio. Ahora todos muestran dos maneras de hacer esto. Es posible que haya optado por hacer esto con el método de filtro de un raise, o puede que haya elegido hacerlo con un bucle, y voy a ver ambos. Pero primero, veamos la expresión regular que crearíamos. Entonces voy a declarar una variable la cual contendrá esa expresión regular. Ahora bien, si estamos tratando de igualar los primeros 3 números que son 801801 obviamente necesitaríamos los valores literales para esos. No queremos usar un comodín porque eso podría terminar siendo otra cosa. Pero sin embargo, si esta es la única parte de nuestra expresión regular, entonces podríamos igualar otros lugares dentro de estos números. Por ejemplo, aquí hay uno de la OTAN aquí que podríamos igualar, y no son los primeros 3 números y otro aquí que podríamos igualar. Ese no es el 1er 3 números, y eso crearía una coincidencia en ese número, pesar de que el código de área es algo diferente. Entonces hay formas de lidiar con esto y expresiones regulares. Pero con lo que hemos aprendido hasta ahora, simplemente necesitamos agregar otro personaje. Con la forma en que se ingresan los datos. Podemos ver que al agregar un guión, entonces sólo agarrará los que tienen el 801 al inicio. Ahora bien, si tuviéramos algunos números donde el otro estaba en medio, entonces tendríamos un problema porque también hay un guión después de eso y eso podría crear algunos problemas. Y como dije, hay formas de lidiar con eso con expresiones regulares, y las aprenderemos a medida que vayamos a lo largo del curso. Pero sigamos adelante y terminemos esto. Entonces aquí está yo expresión regular. Ahora, como mencioné, mi primer intento va a ser usando el método de filtro de un raise. Si no estás familiarizado con esto, entonces puedes aprender un poco de algo allí también, así que estoy creando una nueva variable de matriz y configurándola igual a entumecimiento completo el filtro de filtro de puntos de matriz es un método en un aumento, por lo que el forma en que accedo es usando filtro recibido y luego filtro es, ah, función de orden superior. Entonces lo que eso significa es que necesitamos pasar en una función que diga cómo procesar la matriz . Entonces básicamente un filtro hará es pasar por cada elemento en la matriz. Devolverá elementos en base a lo que entramos en nuestra función que pasamos y esos elementos devueltos vendrán la nueva matriz. Y así básicamente la función que pasamos en cualquiera de ellas necesita volver a su culpa. Si devuelve true para un elemento, ese elemento se pasará en la nueva matriz. Devuelve culpa. No será así. Esto es lo que voy a hacer. Ya que estoy usando el método de filtro de matrices, voy a usar una función de flecha. Entonces aquí está. Aquí tienes una expresión regular. Voy a usar el método de prueba del objeto de expresión regular porque eso devuelve ya sea una falla más verdadera. Si hay una coincidencia ahora, cada vez que iteramos a través de su matriz pasaban en el elemento, y eso se pone en la Variable L M. Y así es en lo que quiero hacer la prueba. Y ahí vamos. Esa es la solución. Déjame seguir adelante y decir que lo revisaremos. Voy a copiar la ruta del archivo, salir, ritmo que adentro. Y luego voy a abrir la consola y sólo abrir esa nueva variable array sólo para ver si tenemos lo que necesitábamos. Y bastante seguro, hay cinco números y todos tienen un 801 al principio. No hay ninguno con el 435 que fue el otro código de área que incluimos. Entonces esa es una solución usando el método de filtro y la que prefiero, obviamente mucho más simple de entrar. Pero veamos cómo haríamos esto con un bucle. Entonces para esto, voy a declarar la nueva matriz, variable aquí arriba, dicho igual a una matriz vacía. Y luego usaremos un bucle for. Es un ciclo a través de la matriz. Pasaremos por el bucle mientras yo sea menor que la longitud de la matriz. Y entonces esto es lo que vamos a hacer dentro del bucle. Vamos a usar una declaración if para comprobar si la prueba de expresión regular una vez más voy a usar el mismo método de prueba porque eso devuelve un recorrido de fallas, y lo que estamos probando es entumecimiento telefónico. Y luego especifico qué elemento, Ray quiero probar. Y si eso es cierto, entonces simplemente hacemos nueva tasa subiendo, empujamos y empujamos ese elemento a tu A como esta bien, eso nos resolverá el problema también. Adelante y probemos para asegurarnos de que esté funcionando. Entonces digo que refresca tipo Marais, y seguro, obtenemos los mismos resultados exactos. Ahora recuerden, esta es la parte crítica de lo que estamos enseñando en este curso. Pero si has aprendido algo del otro JavaScript, entonces genial, eso es un bono añadido. Pero esto es lo importante. Asegúrate de que ingresaste una expresión regular de 801 y luego un guión. Muy bien, pasemos a la siguiente sección 13. Uso de los grupos de personajes: en esta sección, vamos a estar hablando de conjuntos de caracteres, formas de encontrar coincidencias utilizando un grupo de personajes. Ahora permítanme empezar con un ejemplo sencillo. Digamos que estás tratando de igualar la palabra gris en algún texto. Bueno, genial. Podría deletrearse una de dos maneras, ya sea con una A o una E, y deberíamos dar cuenta de ambas. Por lo que necesitamos una forma de crear una coincidencia que podría ser un personaje fuera de un grupo de personajes . No, eso se llama conjunto de caracteres. Entonces aquí tenemos una expresión regular y en lugar de la A o la derecha ahora tengo un espacio . Entonces, ¿qué ponemos ahí? ¿ Qué es lo que define un conjunto de caracteres? Bueno, podemos especificar un grupo de caracteres usando corchetes, por lo que se vería algo así aquí mismo, los corchetes. Y luego tenemos una A en cualquier interior de ella, y eso indica ese partido en Lee, uno de estos personajes dentro de este conjunto de personajes. Coincide con el carácter literal fuera del conjunto de caracteres dentro. Coincide con al menos uno de esos, por lo que en una o una E podría producir un partido. Entonces echemos un vistazo a este ejemplo exacto en rechaza Pau. Y luego veremos algunos otros ejemplos con conjuntos de caracteres también. Muy bien, aquí tenemos, ah ataques de línea para hacer el contorno para el cuadrado gris y la sensación para la gracia del círculo. Por lo que dos palabras grises deletreadas de manera diferente. Veamos cómo encontraríamos un partido para esos. Entonces entramos a la g R. Y obviamente agarra el G R. Y entonces empezamos nuestro personaje, sin duda entrando a en una E. Y luego cuando la ropa son corchetes, entonces por fin ¿por qué? Entonces estamos emparejando ambos de esos tanto el gris dentro de A como el gris con cualquiera porque tenemos la bandera global ob. Obviamente, si apagamos eso, sólo igualaríamos el 1er 1 Ahora. ¿ Qué pasaría si esta palabra aquí nos deletrean con un A any Bueno, entonces no encuentra coincidencia porque este personaje dijo está diciendo match on Lee, uno de los personajes de este grupo. Entonces es un grupo de personajes y se supone que tienes que encontrar una coincidencia para ello. Echemos un vistazo a algunos otros ejemplos que ayudan a ilustrar eso. Entonces primero, déjame quitar todo esto y entraremos un juego de caracteres de las letras A, B, C y D. Y eso es todo. Entonces, por lo tanto, los caracteres dentro del conjunto de caracteres, pero note que sólo está coincidiendo con uno para todo lo que encuentra cada vez que encuentra un A a B, un C o un D. Lo considera un partido. Ahora algo más que considere podemos hacer más de un personaje conjunto. Entonces, por ejemplo, podríamos hacer un segundo conjunto de caracteres para un segundo carácter y éste. Voy a poner un espacio y y yo y encerrar eso Ahora estamos igualando sólo dos lugares. Este D tiene un espacio después de él. Este c tiene un ojo después, y por lo que está coincidiendo con ambos. Entonces obtenemos un personaje de este grupo y luego un personaje de este grupo. Ahora, mira, mira lo que pasaría si agregamos y e porque aquí hay mucha facilidad. Obtenemos un montón de partidos, sobre todo por el espacio que tenemos en el segundo conjunto de caracteres. Ahora podemos hacer más de dos. Como mencioné puedes agrupar, puedes armar múltiples conjuntos de caracteres. Entonces digamos que no tenemos en una edad aquí arriba, estamos o en edad, debería decir. Entonces se puede ver que los partidos estaban consiguiendo mucho de la última parte de la palabra que cuando un espacio viene tras él, entonces tenemos uno aquí. ¿ Dónde están E y luego un espacio ahora? Hasta ahora, sólo he estado haciendo cartas, pero esto es cierto para cualquier personaje. Entonces, por ejemplo, digamos que quería encontrar o uno a dos un tres o cuatro. Ahora si fuera a entrar 1234 aviso que eso son cuatro partidos diferentes. Eso no es un partido para todos esos, porque una vez más, está agarrando un personaje de ese conjunto de personajes. Y así cuatro partidos diferentes ahí mismo. Ahora, mirando este 1234 te hace preguntarte, ¿qué podríamos hacer? Arreglado. Tenemos dedo del pie. Si queremos un rango, como entre uno y cuatro, ¿tenemos que teclear cada número? Bueno, eso es lo que vamos a ver en el siguiente tema. Una forma más sencilla de entrar en un rango así Pero antes de dejar este tema, necesito mencionar algo que es muy importante sobre los conjuntos de caracteres. Y es que los personajes de Mata no actúan tantos personajes dentro de las llaves cuadradas por lo que dentro de un personaje dijo que no actúan como meta personajes. Actúan como el personaje que ahora son. Hay una pequeña excepción a eso, pero nos ocuparemos de eso en el siguiente tema. Entonces, por ejemplo, hemos aprendido sobre el comodín, el periodo, que es un personaje medic. Veamos qué obtendríamos si usamos eso como parte de esta expresión regular. Entonces voy a volver a nuestro ejemplo gris e. Dentro del conjunto de caracteres que un por qué. Y ahora voy a crear un segundo conjunto de personajes. Este va a tener un espacio y un punto ahora se dan cuenta. Está coincidiendo con los dos porque podemos igualar un espacio o podemos igualar un periodo. Ahora bien, este periodo no está actuando como comodín. Si fuera un comodín, podría coincidir con cualquier personaje después del porqué. Entonces vamos a demostrar que poniendo cualquier poniendo otro personaje después de esto, qué aquí y notamos que perdemos el partido en ese punto porque s no está en este conjunto de caracteres . Tenemos un espacio, y tenemos un periodo que no es un comodín. Porque dentro de los tirantes cuadrados. Por lo que eso puede ocasionar que piense. Bueno, ¿y si hacemos en un comodín dentro de un conjunto de caracteres? Bueno, básicamente, realidad no querrías hacer eso. Va en contra de la idea de conjuntos de caracteres donde el carácter establece su especificando un grupo específico de caracteres. Y quieres igualar a uno de esos personajes de ese grupo. Si quieres usar un comodín, realidad, solo debes usar fuera de un juego de caracteres. Está bien, así que pasemos al siguiente tema. 14. Determinación de un personaje: en el tema anterior, miramos un conjunto de caracteres que tenía los números 123 y cuatro, y tuvimos que ingresar cada número por sí mismo. Si bien una forma más sencilla de hacerlo es usar un rango ahora, así es como escribiríamos lo mismo en un aviso de rango. Utilizamos el carácter de guión entre el número inicial y el número final. Y básicamente, lo que eso especifica es que este conjunto de caracteres puede ser un uno, un dos, un tres o un cuatro. Incluye los cuatro de esos números. Ahora nota algo sobre este ejemplo. El guión está actuando como un personaje médico, no como él mismo. En el último tema, mencionamos que Medicare no funciona. ¿ Es América meta personajes dentro de un conjunto de personajes? Y usamos el carácter comodín, el punto, para ilustrar eso bien, una excepción es el guión en un conjunto de caracteres. Ah, guión especifica un rango. Entonces si quisieras incluir ah hyphen como parte del conjunto de caracteres, posible que necesitemos escapar de él así. Ahora digo podría porque si el guión está en una posición donde no se confundiría como rango, entonces no hay necesidad de escapar de él. Entonces en este ejemplo, realidad podríamos prescindir de la fuga. Funcionará con él, pero podríamos dejarlo fuera porque no hay posibilidad de confundirlo con un rango, porque básicamente, tenemos ah, guión, un espacio y un punto. Ahora, algo más a tener en cuenta con rangos y es que el rango no necesita Onley constar de números. También se lleva a una gama de letras. Aquí tienes un ejemplo de eso. Utilizamos un ejemplo similar en el tema anterior, donde tuvimos que ingresar a a, B, C, D y E para designar si queríamos uno de esos caracteres. Bueno, esto es lo mismo, pero usa un rango. Sabe incluir todas las letras entre A y E cuando usamos el guión. Saltemos a Reg exe pal y hagamos algunos ejemplos. Entonces aquí tengo una frase simple. Ha habido cuatro o cinco veces que he intentado, pero volveré a intentarlo. Vamos a jugar con rangos dentro de conjuntos de personajes. Así que empecemos con un juego de caracteres y vayamos 127 en ese conjunto de caracteres y veamos qué coincidimos Con el conjunto de atributos globales, ahora igualamos tanto los cuatro como los cinco. Obviamente, si bajamos esto a cuatro, Onley igualaría los cuatro. Igualaríamos con los cinco. Está fuera de ese rango ahora. avisa bien porque este es un juego de caracteres. Sólo igualamos una sola vez. Si este fuera el número 42 por ejemplo, eso serían dos partidos separados porque está buscando un solo personaje en ese partido. Si quisiéramos más de un personaje, entonces haríamos un personaje, un segundo conjunto de caracteres como este. Ahora sólo se empareja el 42 porque el 42 es lo de Onley que consiste en dos números entre uno y seis justo juntos y por lo tanto obtenemos ese partido. Ahora permítanme quitar ese segundo juego de caracteres. Añadamos algunos personajes adicionales dentro de esto. Digamos que queríamos encontrar un a través de Z y sabe cómo eso coincide de todo porque o estamos buscando de uno a seis o las letras a a a través de Z y así sobre todo de todo coincide con eso con excepción de mayúsculas personajes, también podemos hacer una gama de caracteres en mayúsculas, y había coincidencia casi todo. Si entonces salimos del espacio, agarraríamos el espacio y podemos añadir un guión y no tenemos que escapar de él porque no está en un lugar donde se confundiría como rango. Ahora veamos un ejemplo de dónde podría confundirse no es realmente como un rango. Entonces digamos que teníamos uno para y también queríamos igualar Ah, guión. Y entonces queríamos igualar un cinco. Ya veremos qué pasa ahí Ahora ve esto está arreglado, así que está esperando ser parte de eso también. Entonces si quisiéramos cambiar eso, entonces solo está buscando el guión, un 12-5 Entonces nos escaparíamos de él. Y ahí obtenemos el tipo de partido que buscamos. Muy bien, hagamos otro partido que consiste en sólo letras. Hagamos un conjunto de caracteres de letras mayúsculas, A a través de I encontramos hasta ahí y luego letras minúsculas A a I. Y por supuesto no obtenemos coincidencia porque no hay caracteres mayúsculas que airen, seguido de un carácter minúscula. Ahora bien, si ampliamos este rango ambos de estos rangos aquí, vamos a Z. Extiende este demasiado bien y puedes ver que obtenemos el th porque ahora que T está incluido en este primer conjunto de caracteres. El H está incluido en el segundo conjunto de caracteres. Muy bien, digamos que queríamos agarrar toda la puntuación ahí dentro. Podríamos hacer eso en un solo conjunto de caracteres también. Podemos hacer el guión sin escapar de él porque no hay posibilidad de confundirlo con un rango porque está en el mismo inicio. Podemos hacer una coma y debilitarnos, hacer un punto. No tenemos que escapar del periodo porque está dentro del conjunto de un personaje. Y ahí coincide con todos esos. Está bien, déjame cambiar el texto que está aquí abajo. Digamos que estábamos buscando a través de un archivo de registro o algo por excepciones. Pondremos esa gran parte ahora. ¿ Cómo podríamos igualar las excepciones? Bueno, veamos cómo podríamos hacer eso. Y usaremos, um, conjuntos de caracteres para hacer eso. Por lo que en primer lugar, empiezan dentro de un cero en los cuellos. Estas excepciones particulares estaban buscando. Y luego si queríamos identificar un código específico, digamos que queríamos identificar algo, comienza con las letras A a F o los números cero a nueve y luego seguimos con eso también. Entonces hagamos un juego de caracteres que haría eso para cero a nueve nos daría los números y luego de un a medio. Y luego cuando cierran, ese conjunto de caracteres, hacemos un segundo conjunto de caracteres cero a través de nueve a a a F y cerramos ese. Y luego obtenemos un partido con esa excepción. Por lo que una vez más recuerda, aquí hay dos conjuntos de caracteres. Cada conjunto de caracteres coincide con un solo carácter, por lo que el carácter que este coincide puede ser cero cualquier número entre cero y nueve y cualquier letra mayúscula entre un y después y lo mismo con el segundo conjunto de caracteres. Y así conseguimos estos dos personajes aquí. Cero cuellos que colocamos al frente de la expresión regular provoca el partido para los cuatro. Ahora hay una cosa más que quiero cubrir Antes de concluir este tema. He cambiado la cadena, que está aquí en rechazos, pal y básicamente contiene una pregunta que quiero abordar. ¿ Cómo capturamos los números? Del 13 al 20 por ejemplo? Bueno, veamos qué pasa si ponemos un personaje configurado aquí que contiene del 10 al 20 y luego cerramos ese conjunto de caracteres. Mira lo que hemos emparejado. No igualamos números enteros, como el 13 o el 20. Emparejamos números individuales. Así que ten en cuenta y recuerden que son los personajes individuales los que estaban especificando en este conjunto de caracteres. Y así cuando especificamos un rango, sólo se puede organizar entre caracteres individuales, no entre un 10 por ejemplo, dos dígitos y otro carácter de dos dígitos. El modo en que se está leyendo esto es que estamos buscando ya sea uno a cero, uno o dos o un cero, y así realmente repitiéndonos. Y así encuentra uno. Encuentra un dos, y encuentra un 03 partidos separados. Entonces cuando estás haciendo expresiones regulares, tienes que pensar en cada personaje como un personaje individual. No se puede pensar en 13 como una sola entidad porque se ve como un uno y un tres, no como 13 y Así que es un poco de cambio sobre cómo se piensa en los números si se trata de números en una expresión regular, y yo quería señalan que antes de concluir este apartado. Muy bien, pasemos al siguiente tema. 15. Excluir un juego de personajes: En ocasiones es posible que desee utilizar un conjunto de caracteres para especificar un grupo de caracteres que no queremos incluir en la coincidencia. Podemos referirnos a esto como caracteres excluidos o negados. Para excluir un grupo de caracteres. Utilizamos el símbolo de zanahoria como se muestra aquí en el título. Ahora el símbolo de zanahoria es un personaje de materia para personaje dice, Al igual que el guión y como el guión, podríamos querer escapar de él si queremos incluirlo como parte del conjunto, Sin embargo, la única vez que tenemos para escapar es si viene al inicio del juego de caracteres. Eso se debe a que usamos la zanahoria al inicio de un conjunto de caracteres para indicar negación o exclusión de esos personajes. Entonces, veamos algunos ejemplos. Aquí tienes un ejemplo que estábamos usando en el tema anterior. Ahora, digamos, en lugar de buscar una excepción, que comience con cero a nueve a a a través de AF, y el segundo personaje también es ver con un nueve o una segunda segunda. Digamos que el primer personaje no es uno de esos, mientras que la forma en que haríamos eso es simplemente poner un símbolo de zanahoria y este es un símbolo que suele estar por encima de los seis. Ponemos eso delante de todo el conjunto de caracteres. Entonces básicamente está diciendo Matt cero match actos y entonces el siguiente personaje no puede ser un cero a través de nueve o un ocho a través de F. Si lo es, entonces no es un partido y por eso no estamos consiguiendo un partido aquí ahora. No obstante, si cambiamos esto para decir otra cosa una G, entonces obtenemos ese partido. Pero si entonces ponemos una zanahoria para éste ahora estamos negando esos. Por lo que el segundo personaje que sigue a la G también debe coincidir y no lo hace porque es uno de estos personajes incluidos aquí y con la zanahoria estaban diciendo, No queremos que coincida con uno de esos personajes. Entonces digamos que teníamos un montón de letras, casi todo el alfabeto y teníamos un personaje conjunto un cruzi. Obviamente igualamos a cada uno de esos personajes y a su manera de partidos individuales. Podemos ver que mientras apagamos lo global, entonces sólo igualamos el primero. Ahora la zanahoria va a hacer lo contrario de eso. Sin aviso donde colocamos la zanahoria. Entra dentro del conjunto de caracteres, y es el primer personaje que forma parte de ese conjunto de caracteres. Y ahí ya no conseguimos un partido porque está negando todo lo que aquí se enumera. Ahora. Si quisiéramos incluir la zanahoria como parte de nuestro conjunto de caracteres y es el primer personaje que enumeramos, necesitaríamos escapar de ella así. Ahora no actúa. ¿ Es como una exclusión? De hecho, si escribimos aquí una zanahoria, hace coincidir ahora. También podríamos ahora quitar ese escape, y lo único que se empareja es la zanahoria, porque estamos diciendo cualquier cosa menos una a través de Z. Entonces no está coincidiendo con esta zanahoria porque el símbolo de la zanahoria está aquí. Está coincidente porque está diciendo cualquier personaje que no sea un a través de Z. Por eso obtenemos el partido Ahora. Si quitamos esto ahora, podemos ver que coincide con todas las letras. No coincide con la zanahoria, pero también podríamos poner la zanahoria aquí al final. Y como no es el personaje de primer cuidado en el conjunto de caracteres, no tenemos que escapar de él, por lo que a veces queremos usar conjuntos de caracteres para especificar un personaje que no queremos incluir en una coincidencia. Y eso lo hacemos dentro del carácter portón, la zanahoria y eso siempre se coloca al frente del conjunto de caracteres. Muy bien, pasemos al siguiente tema. 16. Escaping los Metacharacters en un conjunto de personajes: durante los últimos temas. He mencionado que cuando estás creando conjuntos de caracteres, no hay necesidad de escapar de los meta caracteres con algunas excepciones. Por lo que ahora hay algunas excepciones a esa regla. Hemos mencionado dos de esas excepciones el guión y el símbolo de zanahoria. El guión designa la gama. El zanahoria niega personajes. En este tema. Quiero tomarme unos minutos para identificar todos los caracteres de materia que pueda necesitar escapar dentro de los conjuntos de caracteres. Entonces estos fueron los que quizá necesites escapar, no los de los que no necesitas escapar. Básicamente, la regla general está dentro de un conjunto de caracteres. Generalmente no necesitas escapar de los personajes maníacos. Ahora hay Hay un total de cuatro a los que puede que necesites escapar. Entonces primero guión que se utiliza para el rango y recuerda la razón por la que puede que tengas que escapar. Esto si es obvio que el guión se está utilizando para un rango, entonces no hay necesidad de escapar de él símbolo de zanahorias también. Nida esos personajes. Si es al inicio del juego de caracteres, ahí hay que escapar de él porque al inicio del juego de caracteres es donde funcionaba como un carácter materia, lo que indica que estás buscando una coincidencia que no incluya estos personajes. Si está en cualquier otro lugar del conjunto de caracteres, no hay necesidad de escapar ahora en ambos casos, si no quieres intentarlo, recuerda cuándo puede que no necesites escapar de él. Simplemente siempre esta escapada que funciona. No hay problema con eso. Ahora hay dos materia más. Personajes Ahora. Estos junto a ti necesitarás escapar si alguna vez las usas dentro de un conjunto de caracteres primero . Este símbolo hash se utiliza para escapar de caracteres, por lo que si alguna vez quieres usar ese símbolo dentro de tus caracteres que necesitas escapar de él para que ingreses dos de ellos, y al ingresar ambos juntos, indica que quieres usar ese personaje real en tu conjunto de caracteres. El cuarto personaje es el corchete derecho. Este personaje, cuando se ve, indica que es el final del conjunto de caracteres, un personaje dicho está entre corchetes. Entonces si ve este corchete derecho, piensa que el juego de caracteres está terminado. Pero si pretendes que sea uno de los personajes es parte de ese grupo. Entonces debes asegurarte de escapar de él. Por lo que los cuatro de estos personajes solo puedes seguir adelante y escapar en cualquier momento que quieras utilizar los personajes reales, una parte de un personaje fuera, como se mencionó, el guión y el símbolo de zanahoria. Aquellos a los que puedes pasar sin escapar de esos si están ubicados en ciertos lugares dentro del conjunto de caracteres. Muy bien, pasemos al siguiente tema. 17. Usar la cortos para los Sets de personajes: a veces con expresiones regulares. Hay más de una forma de especificar un patrón en este tema. Vamos a ver las manos cortas que están disponibles para conjuntos de personajes. Muchas veces verás estas manos cortas en STAD de este conjunto de personajes estándar de los que hemos estado hablando. Ahora hay manos cortas disponibles tanto para aquellos conjuntos de caracteres que incluyen como para aquellos caracteres establecidos en una puerta o excluir caracteres. Echemos un vistazo primero al carácter inclusivo conjunto de manos cortas, así que tenemos tres de ellas. El 1er 1 es el carácter Escape y luego la minúscula D, y eso representa dígitos. Y así se pueden ver los caracteres equivalentes que junto a él conjunto de caracteres A. Un rango de cero a nueve sería igual al escape de taquigrafía D. Entonces también tenemos la palabra taquigrafía. Ahora una palabra en la taquigrafía representa bastante. Se puede ver el conjunto de caracteres de muestra junto a él representa todos los caracteres mayúsculas y minúsculas. todos los números y luego también el carácter de subrayado no puedan ver eso, pero al final aquí tenemos un carácter de subrayado. Esos aires, todos considerados personajes de palabras. Ahora el guión no es sólo el guión bajo. Por alguna razón, se considera un carácter de palabra. Entonces, finalmente, la tercera taquigrafía que tenemos es el espacio, la taquigrafía del espacio en blanco, y básicamente eso representa ya sea un espacio en blanco, un tabulador, un retorno de carro o un nuevo avance de línea. Puede representar a cualquiera de esos personajes. Eso es lo que representa el escape s. No, antes de mirar a los personajes negados, Lutz, sólo prueba algunos de estos en rechazos, amiguito. Entonces tengo dos líneas, y eso fue importante. Yo me quería. Quería demostrar que tenía una segunda línea. He incluido personajes. He incluido algunas pestañas que he incluido en Underscore. He incluido números, y hay algunos otros personajes también. Entonces probemos primero esta taquigrafía para dígitos. Como probablemente adivinaste, eso coincide con cada número, que está en estas dos líneas. 11 partidos totales. Entonces cinco cabellos. Cinco. Aquí. Aquí nadie. Una vez más, tenemos nuestra bandera global puesta, y por eso está coincidiendo con todos esos. Ahora echemos un vistazo a lo que coincidirá la palabra personaje. La mayoría. Todo se combina con la palabra carácter. Tenemos todas las letras mayúsculas y minúsculas. Tenemos el subrayado aquí mismo. Tenemos los dígitos otra vez. Sus coincide con una parte de la palabra personaje. Todo eso está igualado Ahora. Si reemplazamos esto por el espacio, el espacio en blanco, entonces se puede ver lo que coincidimos con cada lugar hay un espacio entre palabras. Conseguimos un partido. Aquí hay tres pestañas esta primera pestañas no mostrando tanto tiempo como las otras dos, pero sigue siendo una pestaña. Y así está coincidiendo con esos otro espacio ahí. No se notó. Aquí arriba lo indicamos. 14 partidos. Ahora mira. 123456789 10 11 12 13 Onley 13 o mostrando mientras que el 14 partido es este carro retorno zona pies acostado . Ahí es donde está creando otro partido. No aparece en rechazos, amiguito, amiguito, no es una forma de que se lo muestre, pero está creando ese partido, y yo sólo quería puntear eso. Muy bien ahora, mencioné que son manos cortas para los conjuntos de personajes negate también. Entonces echemos un vistazo a esos Esto usa una profunda mayúscula, por lo que todas las manos cortas para la negación son las mayúsculas. equivalente. Entonces para dígitos, sería mayúscula d palabras mayúsculas w espacio en blanco mayúscula s. Entonces, como podemos ver para la mayúscula D, tenemos el nombre negate carácter, la zanahoria delante y luego cero a través nueve que una puerta aquí, letras mayúsculas y minúsculas, números y el subrayado que una puerta con línea de retorno de carro de tabulador espacial, pies. Está bien, echemos un vistazo a los de rechazos, también amiguito. Entonces ahora primero piensa en esto. Se necesita un proceso de pensamiento un poco diferente cuando estamos tratando con estos conjuntos de personajes negar y los cortos Hatton's, que hacen exactamente lo mismo. Lo que vamos a indicar es que queremos igualar todo lo que no es uno de estos. Entonces si ponemos en mayúsculas D aquí, coincide con todo excepto los números notan que está coincidiendo con el espacio en blanco. Ahora bien, si ponemos una W mayúscula, está coincidiendo con todo excepto los números de letras y el entender y el subrayado. Consulta los guiones bajos no emparejados aquí. Todos los demás personajes ahí está la impresión abierta y el espacio en blanco, la pestaña, etcétera. El periodo por aquí. Todos esos están emparejados porque es todo menos esto. Y luego, finalmente, si hacemos un culo en mayúsculas, vemos que coincide con todo menos con esos caracteres de espacios en blanco. Entonces esos caracteres abreviados de aire para conjuntos de personajes y esos airen lo que verás con bastante frecuencia cuando veas una expresión regular que se ha proporcionado en Internet o otro lugar, verás ese Número cuatro. Dejamos este tema. Yo quiero saltar aquí a nuestra hoja de tramposos. Eso es parte de rechazos, amiguito. Ya hemos aprendido lo suficiente para reconocer todos los artículos de la primera parte de esta hoja de tramposos . El comodín. Aquí están nuestros caracteres abreviados, dígitos hacia adelante y espacios en blanco, y luego son cortos y caracteres para la negación de aquellos no dígito de palabra o espacio en blanco. Y luego aquí tenemos los conjuntos de caracteres regulares con un rango aquí abajo así que este geechee puede ser de ayuda para ti. Si estás usando paleta de rechazos, averigüe una expresión regular. Se puede referir a eso si no se acuerda exactamente lo que se necesita para entrar para esta cosa en particular. Estás tratando de crear un partido para. Muy bien, pasemos al siguiente tema 18. Ejercicio 2 inicio: es hora de nuestro segundo ejercicio de JavaScript. Ahora este ejercicio en particular no va a ser demasiado difícil. Vamos a construir a partir del ejercicio anterior de JavaScript, Así que echemos un vistazo a lo que me gustaría que dio. Ahora esto se ve muy parecido al ejercicio terminado de Ejercicio uno. No obstante, le he añadido un poco. He añadido tres números telefónicos adicionales, y como pueden ver, son incorrectos solo tres dígitos en ese último. Y así la parte adicional de este ejercicio es asegurarse de que los números telefónicos sean válidos usando este formato. Obviamente, hay muchas formas diferentes de ingresar un número telefónico que necesitaríamos comprobar para su validez. Pero ahora mismo lo estamos manteniendo simple. Vamos a utilizar este formato para determinar si es válido o no. Entonces, ¿qué está pasando actualmente? Déjame mostrarte que abre la consola y muestra la nueva matriz. Estamos agarrando estos números telefónicos aquí, estos últimos tres, y no son números telefónicos válidos, y por eso queremos modificarlo para que no coja esos. Y así básicamente todo lo que vas a estar haciendo es modificar la expresión regular. Tómese un tiempo para averiguarlo, y luego, cuando esté listo, vea la solución 19. Acabado de ejercicio 2: todo bien. Esperemos que eso no fuera demasiado difícil para ti. Traté de mantener este sencillo. Ahora, básicamente, todo lo que necesitamos hacer es en una expresión regular, es llenar el resto de lo que esperamos. Ahora mismo, sólo tenemos un guion de remolque, y sólo estamos esperando que en algún lugar del número, si llenamos más, podemos estar más seguros de que estamos consiguiendo el tipo de coincidencia correcto. Ahora. Esto es algo que nos gustaría hacer con los conjuntos de caracteres porque los números podrían estar en cualquier lugar entre cero y nueve. Entonces podríamos hacer un montón de estos conjuntos de personajes así, y luego hacer otro y luego otro y luego un guión que nos llevaría la siguiente parte del número telefónico. No obstante, esto es mucho para escribir para eso. Entonces este es un caso donde querría usar la taquigrafía, y así podemos hacerlo con conjuntos de caracteres de tres dígitos. Después haremos otro guión, y haremos cuatro más por los últimos cuatro números del número telefónico. De acuerdo, vamos a guardar eso y a ver qué obtenemos ahora. Por lo que fresco que vamos a abrir la consola. Una pantalla. Nuevo, valiente. A ver qué hay ahí dentro y nos quedan cinco. Entonces no estamos recibiendo los últimos tres, lo cual es bueno. Para que eso logre lo que estamos tratando de hacer. No obstante, me gustaría mostrarles algo, y aprenderemos sobre cómo lidiar con esto más adelante en el curso. Pero quiero mostrarles un problema con esta solución. Digamos que este número aquí arriba, la razón por la que se equivocó es porque tenía un dígito adicional aquí al final, por lo que no debería tener cuatro, y tiene cinco. ¿ Esta expresión regular evitará que eso sea un partido? Piénsalo. Digamos esto y sigamos adelante y averigamos qué obtenemos. Tan ardiente pantalla fresca. No hay rayo nuevo aviso. Todavía estamos agarrando eso. Tiene cinco dígitos. ¿ Por qué está agarrando eso? Bueno, la razón lo está agarrando es porque esta parte sigue siendo un partido. Y así coincide con que el dígito extra no lo afecte porque no tenemos nada viniendo después de esto para indicar que este es el final de los cuatro dígitos. Como dije más adelante en el curso, aprenderemos una forma de lidiar con que se puede especificar iniciar un final de una cadena, y eso nos puede ayudar a que esta expresión regular sea más utilizable. Muy bien, pasemos a la siguiente sección. 20. Usar Repeticiones en tu patrón: hasta este punto, no hemos hablado de cómo repetir personajes. Cuando estemos definiendo una expresión en este apartado, haremos justamente eso. Por momentos, es posible que necesites un personaje que repita para encontrar una coincidencia. Las expresiones regulares vienen con tres caracteres de materia que permiten indicar que el elemento debe repetirse y cuánto debe repetir. Echemos un vistazo a esos primeros fuera del símbolo más. Ahora, en todos estos meta personajes, los tres que vamos a ver, aplican a la izquierda el ítem más anterior en la expresión regular. No más que eso. Por lo que lo pones justo después del ítem que quieres repetir, y en caso del símbolo más, indica que queremos buscar algo que coincida con una o más ocurrencia de ese ítem que está a la izquierda. Muy bien, también tenemos el signo de interrogación. Ese carácter meta indica que queremos hacer coincidir cero o una ocurrencias para que dos estados posibles no existan todo, o solo existe una vez, y luego creará una coincidencia. Por último, el asterisco indica que queremos igualar cero o más ocurrencias. Por lo que un número infinito de ocurrencias que podría coincidir para ese ítem en particular. No, estos meta personajes que coinciden con cero son interesantes. Básicamente, lo que estás diciendo cuando usas uno de estos es que este ítem puede estar en los datos que estoy viendo y por lo tanto quiero igualarlo o puede que no lo sea. Y si está en el caso del Asterix, podría estar ahí muchas veces. Y así que ten cuidado con eso Ahora. Estos Medicare ocurre puede ser un poco difícil de entender cómo funcionan. Suenan bastante intuitivos, Justus. Nosotros pasamos por ellos. Pero entender cómo funcionan puede ser un poco más difícil, por lo que es importante que los entienda. Para ello, necesitamos echar un vistazo a algunos ejemplos. Ahora aquí tenemos una cuerda, y no voy a tratar de decirlo porque probablemente lo voy a estropear, ya que es un es un trabalenguas. Pero esto nos dará algunos datos para poder entender cómo funcionan estas cosas. Entonces, por ejemplo, empecemos con algo sencillo. Voy a poner un juego de caracteres aquí de letras mayúsculas de la a a la Z, y podemos ver que coincide con todas esas letras mayúsculas que encontramos en esta lengua Twister. Ahora bien, ¿qué pasaría si agregáramos carácter de repetición? Primero agreguemos el símbolo más. Ahora, recuerda, esto coincide con uno o más. Realmente no lo cambia, verdad, Porque no lo hay. No hay una situación en la que haya uno o más caracteres en mayúsculas. Si esto pasara a estar en mayúsculas ahí, entonces encontraría una coincidencia para ello. Sin ese símbolo plus , son dos partidos separados. Entonces si apagáramos la bandera global, sólo obtenemos un partido para la S. Ponemos un símbolo más. Conseguimos un partido para ambos. De acuerdo, déjame darle la espalda a nuestro global ahora. ¿ Qué pasaría si cambiáramos esto a signo de interrogación? Ahora piensa en esto y nota esta pequeña indicación por aquí este infinito. Cuando pasamos el mouse sobre eso dice aire, la expresión puede coincidir con cero caracteres y por lo tanto coincide en infinitamente. Entonces básicamente igualamos todo porque estamos diciendo cero o uno de caracteres mayúsculas y eso mismo con el asterisco de Asterix también. Cero son muchos, y aquí tenemos el mismo aire. Por lo que rechaza, PAL indica que es un aire haciendo eso en script Java. No obtenemos aire, sólo regresa. Si se trata de un asunto no, por ejemplo, de debe crear una expresión regular. Simplemente vamos dedo del pie tener el mismo tipo de cosas. Simplemente estamos viendo este tipo de cosas. Retorno de prensa. Ahora bien, si hacemos una prueba sobre esa expresión regular, pasemos el texto. E I O y U Todo en mayúsculas fue un retorno regresa. Cierto. Por lo que indica. Sí, encuentra una coincidencia a pesar de que una expresión regular coincide infinitamente. Todo lo que le preocupa es si hay un partido o no. Ahora, lo que pasaría si hacemos exactas sobre que básicamente coincide al inicio es lo que nos está mostrando índice de cero. Ahí es donde está encontrando el partido. Y así es como Javascript manejaría eso. Ese tipo particular de expresiones regulares, no algo que quieras entrar, realmente. No es proporcionarte ninguna información porque básicamente podría coincidir con cualquier cosa pero la razón por la que la utilizo aquí es para darte una idea de cómo funcionan estas cosas . Ahora probemos otra. Déjame hacer un aviso de s. Todo el SS está en esta lengua Twister. Ahora, si lo hago después de eso un a través de Z en minúsculas, veamos qué obtenemos. Entonces conseguimos todo lo que no se ha pedido en ellos sigue con otro personaje. Ahora, ¿qué pasaría si hiciéramos un personaje de materia de repetición? Digamos que hicimos el plus ahí. Ahora ve lo que está emparejando. Puede igualar a tantos como sea posible. Y así va tan lejos como puede para igualar todo eso que se llama ser codicioso. Las expresiones regulares son normalmente codiciosas, está tratando de igualar tanto como pueda. Y luego cuando nos topamos con un espacio que ya no puede igualar, y así entonces vuelve a empezar un nuevo partido. Obviamente, si quitamos la bandera global, solo conseguimos un solo partido ahí. Ahora veamos qué pasaría con el signo de interrogación porque ahora puede ser cero o uno. Y así ahora solo conseguimos dos personajes, y también podemos conseguir un solo culo sin otro personaje después de él, porque puede ser cero. Esto representa cero de cualquiera de estos. Recuerda, es el ítem que es la izquierda que está modificando. Y por eso estamos consiguiendo cero esos ahora. Obviamente, un asterisco sería muy similar al plus. El principal diferencia entre el plus es si teníamos un S hair avisos lo recoge. El plus no lo hace porque requiere uno o muchos uno o muchos de estos. El asterisco es cero o muchos. Muy bien, cambiemos las cosas otra vez. Solo, uh, permite ver algunas aplicaciones de diferencia y ayudarte a entenderlas mejor. Muy bien, ahora hagámoslo por una expresión regular. Lo hará. mayúscula para empezar. Después haremos un aviso de letra minúscula llegamos a letras en el partido. Pero ahora, ¿qué pasa si ponemos un símbolo más después de donde estaban indicando que queremos igualar uno o más? Porque lo que estamos diciendo es que queremos encontrar nombres que comiencen con mayúsculas. Si tenemos un nombre que empieza con y mayúsculas, pero nada más viene después de él. No concuerda. Ahora veámoslo en un ejemplo donde usaríamos el signo de interrogación. Digamos que queremos encontrar la palabra manzana o manzanas. A nosotros no nos importa. Sólo queremos ver si hay manzana o manzanas ahí dentro. A lo mejor estábamos haciendo una prueba de algún tipo, algún tipo de educación en línea, y tenían que entrar algo sobre manzanas. Y no nos importaba si era plural o singular. No se notó. Ahora mismo, la forma en que se ingresa que coincidirá con las manzanas, no coincidirá con Apple. No obstante, si ponemos un signo de interrogación después de él ahora, igualaremos ambos. Ambos se convierten en un partido porque tenemos nuestra bandera global en Todo bien. Un ejemplo más. Ejemplo un poco más práctico con asteriscos. Estaban buscando a través de un archivo de registro y queremos encontrar cualquier cosa. Eso es una advertencia Ahora La advertencia podría tener una exclamación, o podría tener múltiples exclamaciones después. Ahora mismo, la palabra advertencia No está encontrando coincidencia. No obstante, si ponemos un asterisco después de él ahora eso coincide. Si entonces ponemos múltiples puntos de exclamación después de él, eso coincide también porque cero o muchos y recuerda que modifica el personaje. Está al lado de, Por lo que modifica el signo de exclamación. Nada más. Todos estos son personajes solteros ahora. Hace apenas un poco mencioné sobre la avaricia de las expresiones regulares, y ese es concepto importante. Entender, con expresiones regulares es que son codiciosos, y por eso necesitamos pasar un poco de discusión sobre eso y cómo eso repercute cuando se encontraron coincidencias. Entonces pasemos al siguiente tema. 21. Entender la oscura y la oscuridad: Antes de seguir discutiendo la repetición, necesitamos tratar dos conceptos importantes. El avaricia de las expresiones regulares y cómo hacer perezosas esas expresiones regulares. Por lo que por defecto, las expresiones regulares son codiciosas. Esto significa que intentan igualar tantos personajes como sea posible. Echemos un vistazo a esto. Aquí está rechaza Pal. Y en la cadena de prueba, tengo algunas HTML básicamente dos etiquetas de párrafo. El 1er 1 aquí 2do 1 allá, y básicamente he repetido que un par de líneas hacia abajo. El motivo por el que he repetido es porque quiero usar esta línea para ayudar a ilustrar lo que está pasando cuando creamos una expresión regular y trata de encontrar una coincidencia. Esto nos va a ayudar a explicar la avaricia de las expresiones regulares y cómo hacerlas perezosas. Ahora, digamos para los efectos de nuestra expresión regular, queremos igualar un tiempo de párrafo. Queremos hacer coincidir desde el inicio de la etiqueta de párrafo hasta su etiqueta de final aquí. Entonces esa cantidad ahora este es un nuevo conjunto tiene otro comienzo, etiqueta de párrafo y tiempo interminable, lo que queremos tratar con ellos por separado. Ahora, por este ejemplo, voy a apagar la causa global. Yo sólo quería emparejar una vez, y eso me ayudará a ilustrar lo que estamos haciendo. Por lo que tengo global apagado. Y ahora sigamos adelante y entremos en la expresión irregular. Entonces si estamos tratando de igualar la etiqueta de párrafo, todo entre y luego el párrafo final, empecemos con nuestro párrafo, etiquetado la etiqueta de párrafo de apertura. Y así que obviamente coincide donde encuentra el primer set de eso porque no tenemos global encendido. Ahora sigamos adelante y pongamos nuestra etiqueta de párrafo final. Ahora, obviamente este personaje de aquí, necesitamos escapar, ¿ verdad? Y así pondremos a nuestro personaje de escape para dar cuenta de eso. Ahora bien, ¿qué ponemos dentro de esto para dar cuenta de algún texto que pudiera estar aquí? Bueno, tenemos un carácter comodín, Mac, y representamos a cualquiera de esos personajes, y también hemos aprendido la repetición. Entonces ahora déjame seguir adelante y ponerle un asterisco. Ahora, mira lo que pasó con esta expresión regular. No se detuvo en la etiqueta de párrafo final. Se fue todo el camino a esta etiqueta de párrafo final. Entonces esto es una ilustración de la avaricia de las expresiones regulares. Ahora, ¿a qué nos referimos con eso? Bueno, la expresión regular va a coincidir tanto como pueda. Se va a tratar de igualar todo lo que posiblemente pueda igualar. Y así empezamos por hacer coincidir esta etiqueta de párrafo de apertura. Después conseguimos el carácter comodín del dedo del pie y luego tenemos esta repetición de cero o más y así como como es codicioso, apenas empieza a agarrar todo. ¿ Esto de aquí coincide con el carácter comodín? Sí. Y también lo hace esto. Y también lo hace el P y demás. Y así sigue agarrando, agarrando, agarrando, agarrando hasta que se aclara aquí hasta el final. Y entonces qué hace entonces se da cuenta, Oh, espera, he agarrado todo en esa línea, pero también necesito buscar un partido para esta última parte. Por lo que empieza a retroceder y empieza a devolver personajes poco a poco, poco a poco hasta que da la espalda suficiente para que pueda encontrar eso al final de ese último partido también. Ahora, para mostrar esta avaricia, mira lo que pasa si fuera a quitar la tachuela de párrafo final. Todavía coincide con todo el asunto. El párrafo final etiqueta no hacer nada por la codicia de nuestra expresión regular . Es agarrar tantos personajes como sea posible. Entonces permítanme ilustrar eso otra vez, aquí abajo en la línea de abajo. Por lo que primero encontramos esta porción de nuestros tecnicos, y eso coincide con la primera parte de una expresión regular. Pero entonces tenemos un comodín y le indicamos cero o más. Y así apenas empieza a agarrar todo lo que puede. Coincide con todo, está bien. Y eso es un partido para esta expresión regular. Ahora cuando tenemos esto añadido de nuevo en el párrafo final, etiqueta añadida de nuevo en, Esto es lo que sucede. Entonces primero lo igualamos todo y luego se va, Espera, tengo algunos gravados aquí que necesito emparejar. Y así le devuelve una porción. Devolver a ese primer personaje ¿Eso un partido en esa última parte? No. Devolver otro. ¿ Es eso un partido en la última parte? No. Da la espalda. Otro está en un partido. No del todo. ¿ Eso es un partido? Sí, y luego lo coincide. Y así primero coincide con todo por la avaricia, y luego devuelve algunos personajes con el fin de encontrar un partido. Para la última parte de esa expresión regular. Entonces eso es la avaricia. Y es esta avaricia la que lo está causando. Entonces está coincidiendo con todo, y no se detiene en esta etiqueta de primer párrafo final. Ahora podemos hacer expresiones codiciosas perezosas significando que en lugar de agarrar todo lo que puede , es Aziz lo más perezoso posible, y agarra lo menos que puede. Esa es la diferencia ahora. El modo en que expresamos la pereza es con el signo de interrogación. Ahora el signo de interrogación que hemos aprendido en repetición. Y recuerda que el signo de interrogación coincide con cero o un personaje. Ahora, cuando ponemos el signo de interrogación después de este personaje de repetición aquí, lo obliga a ser perezoso. El reloj. ¿ Qué pasa ahora? Estamos seleccionando sólo el primer párrafo, no todo el asunto. Si nos pusiéramos a nivel global, entonces igualaríamos a todos ellos. OK, pero habría cuatro partidos separados donde si apagamos global, el partido sencillo es solo el 1er 1 Ahora, ¿por qué no lo hizo? ¿ Cuál es la diferencia cuando hacemos una expresión regular perezosa? ¿ Por qué sucede esto? Bueno, explicamos cómo funciona cuando es codicioso. Bueno, vamos a explicar cómo funciona cuando es perezoso, así que cuando es perezoso, empieza bien, necesito que coincida con este párrafo de apertura. Se encuentra eso y luego es perezoso y dice, puedo arreglarme con emparejar nada. Y así voy a ser perezoso y tratar de igualar nada. Bueno, si no coincide con nada, no encuentra un partido para esta última parte aquí. De acuerdo, si sólo tuviéramos algo como esto, déjame poner esto muy rápido. Entonces va a encontrar un partido porque es perezoso. No necesita nada entre la etiqueta de párrafo de apertura y la etiqueta de párrafo de cierre. No es necesario. Es ser perezoso. Entonces lo que pasa es que encuentra un partido para eso, y luego se dio cuenta también. Necesito encontrar algo que coincida con el final de esta expresión regular. Entonces vamos otro personaje. ¿ Encuentro un partido al final de esa expresión regular? ¿ Y ya? No. Y sigue pasando por estos personajes, sigue pasando. Se, sigue pasando. Se, sigue pasando por él. Entonces encuentra, Oh, Oh, y aquí hay un fósforo. Ya puedo parar. Así funciona. No fueron cuando es perezoso cuando es codicioso, agarra todo primero por este comodín y este personaje de repetición, y luego intenta dar vuelta para encontrar un partido. Cuando es perezoso, coincide lo menos posible. Y así es como está funcionando. Entonces con perezoso con ese signo de interrogación aquí para hacer perezosa esta expresión, ¿qué pasaría si quitamos el tipo de párrafo de cierre? Simplemente mapearía coincidir con la etiqueta de párrafo de apertura, y eso es todo porque es perezoso. Es agarrar lo menos posible. Cuando quitamos el signo de interrogación que lo hace perezoso. Entonces agarra tanto como sea posible para que puedas ver los aires de diferencia. Vamos entre esos dos. La diferencia entre avaricia y perezoso y este es concepto importante en las expresiones regulares , y vamos a volver a ello. Pero primero queremos dedo del pie agregar mawr a toda la idea de la repetición. Entonces pasemos al siguiente tema. 22. Determinación de la cantidad de la petición: hasta este punto con repetición. No hemos discutido el control de cuántas veces de repetición de patrones. Ha sido cero o muchos uno o muchos o cero o un pozo, también podemos controlar la cantidad. Entonces echemos un vistazo a eso con los otros personajes medicos de repetición. Aplican al ítem que vino antes en la expresión regular, y eso es cierto cuando especificamos un monto de repetición. Ahora utilizamos llaves para especificar la cantidad de repetición, así que veamos qué es posible. Entonces primero, si dentro de las llaves ponemos dos números separados por una coma, entonces somos capaces de especificar que coincide de los hombres a las ocurrencias max. Por lo que podría decirse, teníamos un cuatro y un seis. Podría ser algo con cuatro. Algo con cinco o algo con seis. Está en cualquier lugar entre ese hombre y ese número máximo. Echaremos un vistazo a algunos ejemplos en tan solo un minuto, pero otra forma en que te llevamos cantidad de repetición es simplemente podemos poner un solo número y entonces eso especifica que coincide con esas muchas ocurrencias en cualquier número que especifiquemos . Y luego finalmente, una opción más que tenemos es entrar un número y luego una coma sin un segundo número después de él. Ahora, en ese caso, estamos diciendo que puede igualar a los hombres o más ocurrencias, por lo que tiene que ser al menos el número que ingresamos para los hombres. Pero puede ser cualquier número después de eso. Entonces como puedes ver, este tipo de cantidad de repetición va a facilitar el ingreso de ciertas cosas. Por ejemplo, cuando queremos expresar tres dígitos, tendríamos que introducir tres caracteres metta que representen dígitos. Bueno, ahora simplemente podemos ingresar uno y luego especificar la cantidad de repetición es ese tipo de cosas. Entonces saltemos a Reg. Exe Powell y echemos un vistazo a algunos ejemplos. Tengo algo de texto aquí. Mi número telefónico es el siguiente, y después tenemos un número telefónico ingresado. Después de eso, primero echemos un vistazo a algún personaje de palabra, así que voy a entrar al carácter materia de los personajes de recompensa. Y ahora digamos que queremos encontrar todas las palabras que sean o tres caracteres. Cuatro personajes son cinco personajes, así que lo haríamos de esta manera. Por lo que note que los Curly se tiran. A especificar la repetición Ven justo después del ítem que estaban indicando Queremos repetir Así que aquí abajo encontramos 12345 letras y luego cuatro letras y luego cinco letras, que es el máximo y luego justo aquí. Ya que tenemos espacios en el medio, no coincide con ninguno de esos. También coincide con números y hay 33 y luego cuatro. Ahí ahora notan qué pasa si agregamos otra palabra carácter en la frontera? Bueno, ahora de repente estamos igualando seis personajes porque tiene que igualar uno aquí, y luego tiene que al menos igualar tres más. Y así estamos consiguiendo un mínimo de cuatro. ¿ Verdad? Aquí te dejamos un máximo de cuatro de seis. Ahí hay un seis. Ahí hay un seis. Ahí hay un seis. De acuerdo, entonces eso enfatiza el hecho de que la cantidad de repetición modifica el ítem que está a la izquierda. Y eso ha sido cierto con el otro. La repetición significó muchos personajes que hemos mirado hasta ahora. Muy bien, vamos a modificar un poco esto. Permítanme quitar esa palabra carácter. Y ahora solo especifiquemos que queremos repetir tres veces, y eso es todo. Entonces aquí tenemos un 333 podemos ver que está agarrando en tres. Ahora bien, nota lo que podríamos hacer para encontrar un número telefónico. Ponemos guión ahí es encontrar tres personajes que airen, seguidos de ah, guión, guión, que puedas empezar a ver lo que es posible con la repetición. Muy bien, hagamos otro ejemplo. Pongamos una coma. Ahora recuerden, esto representa tres o más, así que tenemos que al menos tener tres. Entonces por eso estos no son seleccionados porque no hay al menos tres. Pero entonces, una vez que tenemos tres, selecciona todo lo que puede hasta que no puede seleccionar más. Muy bien, entonces eso es lo que hace ahora lo común. Un ejemplo más. Pongamos un seis aquí. Ahora podemos ver cómo eso lo cambia a partir de cuando teníamos un cinco sabe el nuestro dejó de W's que quedó cuando cambiamos eso a seis. Obviamente, vamos a un número más grande que está igualando. De acuerdo, pasemos a un tipo de ejemplo diferente. Entonces voy a reemplazar el texto que está aquí en la cadena de prueba. Simplemente voy a poner un par de números decimales hexi, nota cómo está coincidiendo con esos, pero y si quisiéramos especificar solo números decimales Hexi. Um, no queríamos conseguir ninguna otra palabra. Por ejemplo, forma de empezar a escribir algo así. Coincide. Todo este texto es Bueno, entonces vamos a modificar esto. Voy a poner un conjunto de caracteres en Ahora este juego de caracteres 0 a 9 A a f los del rango. Eso es lo que puede existir dentro de como parte de un número decimal Hexi. Por lo que cerraremos nuestro conjunto de personajes. Ahora tenemos que especificar la repetición. Y vamos a indicar seis. Bueno, había coincidencia de un número de hacks. No está igualando este. ¿ Por qué? Porque aquí tenemos que letras minúsculas. Entonces, ¿cómo podríamos arreglar eso? ¿ Cómo podríamos cambiar eso? Bueno, podríamos, pero una gama de caracteres en minúsculas. O simplemente podríamos usar una bandera, nuestra bandera de caso ignorar, que es lo que voy a hacer. Entonces ahora tenemos el ojo después de justo aquí que ignora el caso, y ahora estamos recogiendo ambos. Si quisiéramos especificar el símbolo de libra en el frente, obviamente podríamos agregar eso. Entonces ese es un número decimal Hexi. Ahora y si quisiéramos igualar a idiota. Número de seguridad, tipo de número de seguridad que tenemos en EU, Así que voy a entrar a Anna. Falso. Tan seguro número aquí. Ahí mismo. Veamos qué tendríamos que hacer para igualar esto. Podemos deshacernos de nuestra bandera de caso ignorar, y sigamos adelante y empecemos a construir esto. Entonces necesitamos dígitos. Esto tiene que ser dígitos. Entonces primero, usemos un dígito. Ahora mismo estamos consiguiendo coincidencias individuales en todos los dígitos. Queremos que el primer sat repita tres veces. De acuerdo, a ver donde eso está coincidente. Entonces tenemos un guión. Entonces queremos que el siguiente conjunto de dígitos se repita dos veces. Entonces tenemos un guión. Entonces queremos que el siguiente conjunto de dígitos se repita cuatro veces. Y ahí obtenemos un partido de número de seguridad imprudente. Entonces hay varios ejemplos que miramos fue especificar cantidad de repetición. Ahora solo un punto de cierre sobre la forma en que especificamos los montos de repetición. Y es que estos no hacen que nuestros patrones sean más flexibles, pero los harán más cortos para volver. Por ejemplo, podríamos haber hecho lo mismo sin la repetición como esta. Después ponemos dos dígitos aquí, y luego le ponemos cuatro dígitos. Pero poder especificar cantidad de repetición es más fácil y puede hacerlos más cortos, y podría hacerlos más fáciles de leer. Muy bien, pasemos al siguiente tema. 23. Revisiting de conceptos animados y perezosos: Quería tomarme sólo un par de minutos para volver a visitar la idea de codiciosa y perezosa en cuanto se refiere a las expresiones regulares. Hablamos de esto a temas hace. Ahora quiero aplicar esa idea a la repetición cuando podamos precisar la cantidad. Como acabamos de aprender, esta idea de avaricia y hacer perezosas expresiones regulares es concepto muy importante, y por eso quiero volver a visitarla. Entonces aquí en rechazos, colega, tengo algunos números. Ahora. Estos números se airan de tal manera que hay dos dígitos que en guión y luego puede ser entre cuatro y seis dígitos. Al menos los que estoy tratando de agarrar este de aquí sólo tienen tres. Yo no querría esa. Entonces en base a lo que acabamos de aprender, ya sabes escribir una expresión regular para captar esos. Empezamos con un dígito que repetimos dos veces. Entonces tenemos un guión. Entonces tenemos un dígito que repetimos de 4 a 6 veces estás en ese espacio ahí y pudimos capturarlo Ahora. ¿ Qué pasaría si le dijéramos a esta expresión las cuatro coma seis? Le dijimos a esa expresión de repetición que sea perezoso. Echemos un vistazo a que notará lo que hace ahora. Sólo agarra, pues hace la menor cantidad. Es perezoso. Entonces sin esto es codicioso. Agarra tanto como puede y tanto como puede es de seis dígitos. Por lo que podemos ver que la pereza está apegada a esto. Lo obliga a ir con la cantidad mínima. Ahora bien, ¿y si tuviéramos otro guión después de estos con un número? Ahora mismo, seguimos agarrando lo mismo. Pero ahora si agrego un guión es parte de esto y luego otro dígito. Mira lo que hace ahora. Permítanme reducir eso hasta el guión porque de repente, al poner un límite, este guión se convierte en un límite a lo que estamos tratando de agarrar. Aquí está agarrando todo. Por lo que va al máximo otra vez. A pesar de que tenemos un aire de identificación perezoso indicando esta expresión debe ser perezoso. ¿ Por qué hace eso? Bueno, primero agarra ser perezoso al principio, agarra el 1er 4 números, pero luego intenta continuar con el partido, y lo siguiente es un guión. No hay uno, por lo que recoge al siguiente personaje y eso encaja dentro de esto. Entonces dice Bien, me quedaré con eso. Todavía no coincide con esto, pero me quedaré con eso. Después pasa a la siguiente que encaja también entre los cuatro de los seis. Y luego se va, el siguiente. Entonces encuentra un guión que está buscando, y así es capaz de hacer ese partido. Entonces creo que es importante, como estás haciendo expresión regular, entender cómo están funcionando y, supuesto, entender que por defecto son codiciosos. Pero podemos obligarlos a ser perezosos es si nos ayuda, y muchas veces eso puede ayudar a que la expresión regular sea más decisiva, lo que significa que encontrará un partido más rápido. No usará mucho poder de procesamiento para hacer eso. Está bien, así que eso es avaricia y pereza otra vez, sigamos adelante y echemos un vistazo a un ejercicio 24. Ejercicio 3 comienzo: es hora del ejercicio seis, donde se tiene la oportunidad de aplicar lo que hemos aprendido a un problema de script Java. Entonces echemos un vistazo a lo que vamos a lograr Teoh en este ejercicio. En primer lugar, quiero mostrarles la página HTML de la que este ejercicio forma parte. Básicamente, lo que tenemos aquí es un relleno donde nos dicen que introduzcamos un número telefónico. Va a ser un número de teléfono de 10 dígitos, y esto es lo que queremos hacer con ese número de teléfono una vez que se haya ingresado. Por lo que queríamos validar el número de teléfono que se ingresa en el campo de texto, y queremos validar a medida que se ingresa el número. Por lo que a medida que se ingresa cada número, comprobamos para ver si coincide con estos formatos particulares. Y entonces he presentado aquí algunos formatos con los que debería funcionar. Por lo que Prince ve alrededor del área guiones de código entre los números y periodos de lugar apropiados entre los números y el lugar apropiado, por lo que podría ser un número sin ninguno de esos. Esos todos necesitan ser partidos Ahora. Si el número coincide una vez que todo ha entrado, entonces el color del texto debe cambiar de rojo a verde por defecto, el texto colorea rojo, y así tenemos que cambiarlo a verde una vez que obtengamos una coincidencia con la expresión regular que creamos. Ahora, igual que una sugerencia, puedes usar el evento key up en el campo de texto para responder para ingresar texto para que puedas usar ese evento para comprobar y ver si hay una coincidencia suficiente. Entonces tómate unos minutos, ver si puedes resolver eso, y luego cuando estés listo, podemos revisar los resultados. 25. Acabado de ejercicios 3: todo bien. Espero que hayas tenido éxito en resolver ese problema. Déjame seguir adelante y tomarme unos momentos y mostrarte cómo resolvería esto. Ahora, cuando hago estos ejercicios de script Java, no sólo incluyo las cosas de expresión regular que hemos cubierto, sino que también me gusta incluir buenas prácticas para resolver esto. Y así voy a configurar esta solución en particular con e inmediatamente invocado expresión de función porque quiero que este código se ejecute cuando se carguen las páginas. Pero no quiero dejar ninguna materia residual en el ámbito global. Entonces esa es la razón por la que estoy haciendo eso. Entonces permítanme primero configurar la estructura de esa expresión de función inmediatamente invocada. Entonces está la estructura de funciones encerrada entre paréntesis, modo que eso la hace válida dentro de javascript. Y luego uso un conjunto de paréntesis para invocar esa función. Está bien, así que ahí está la estructura. Entonces ahora dentro de eso, puedo poner la solución. Entonces en primer lugar, voy a declarar variable, y esta variable va a contener una referencia al texto lleno se está mecanizando aquí mismo, este campo de texto de entrada. Entonces la idea de eso es el teléfono. ¿ Tan bastante fácil de agarrar? Um, la variable va a ser teléfono, por lo que pondremos eso igual a documento punto obtener elementos por i d e ideas. Entonces esa es una variable que quiero establecer. Una segunda que quiero establecer es la expresión regular. Entonces, ¿qué configuró eso? Esta será nuestra variable. Y ahora necesitábamos encontrar la expresión regular. Prefiero hacerlo con un literal. Entonces está la estructura para lo literal. Ahora, ¿qué queremos dentro? Bueno, tenemos que dar cuenta al inicio de esto y abrir prin o puede que no esté ahí, así que esa es probablemente la primera parte con la que tenemos que lidiar. Entonces necesito escapar de eso porque es un Perrin. Entonces me voy a escapar de ese personaje porque nos estamos refiriendo al personaje real. Todavía no hemos aprendido qué hacen los príncipes en una expresión regular, pero son un personaje medico y hacen algo. Por lo que tenemos que escapar ahora. Ya que esto puede existir o no existir en el partido, entonces voy a poner un signo de interrogación después de él. Entonces básicamente eso le dice que repita cero o una vez. Ahora necesitamos tres dígitos y siempre habrá tres dígitos en la primera parte. Ahora, después de los tres dígitos, podría haber un cierre, prim. Y una vez más, éste tampoco se requiere. Y así vamos a repetir ese cero o una vez. Eso es lo que está haciendo el signo de interrogación en este caso. Ahora, después de que tengamos los primeros 3 dígitos debilitados, consigue , ah , guión, podríamos conseguir un punto o podríamos conseguir nada. Podría ser el siguiente conjunto de números, así que necesitamos tener un juego de caracteres ahora si ponemos el guión al inicio de los personajes que no necesitamos escapar de él, pon el punto ahí porque podría ser uno de esos y una vez otra vez, cero cero o una vez. Puede haber situaciones en las que no tengamos ninguno de esos, pero podemos tener un guión o un punto también, y así eso configura esta porción de nuestro número. Después de los 1er 3 dígitos, entonces tenemos tres dígitos más, para que podamos cuidarlo así. Una vez más, tenemos el mismo tipo de situación después de esos tres dígitos. Entonces solo voy a copiar esa parte ahí y pegarla después de esos tres dígitos. Y al final tenemos cuatro dígitos. Entonces hay una expresión regular. Esto es lo que va a coincidir. Hemos podido usar personajes de repetición, y algo interesante de este problema es que hemos usado la repetición. Los caracteres también indican que el ítem puede no existir, no simplemente para indicar cuántas veces puede existir, sino que también indican que puede no existir. Muy bien, entonces esas son nuestras dos variables. Ahora, por el resto de la parte de este problema, necesitamos armar un oyente de eventos de ese texto, Phil. Y el oyente de eventos propósito fuera está en el evento key up. Vamos a probar y a ver si hay un partido o no. Entonces, primero agreguemos un oyente de eventos al teléfono teléfono punto agregar oyente de eventos. Y por supuesto, el evento que queremos es clave. Y entonces el segundo argumento al que pasamos en Event Listener es la función que se ejecuta cuando ocurre ese evento. Entonces voy a pasar en una función anónima, un punto y coma ahí dentro y ahora definirá lo que hay dentro de esto ahora. Esta parte debe ser bastante simple. Realmente necesitamos simplemente tomar la expresión regular y probarla contra el valor que está dentro del campo de texto telefónico. Si se hace realidad, entonces vamos a usar un par de clases que he incluido en nuestro CSS. El rojo clase clase clase verde leer clases ya asignadas como podemos ver aquí, pero también tenemos una clase verde. Cambia el color verde. Y así si termina siendo cierto, voy a quitar la clase roja y añadir la clase verde y viceversa. Si no es cierto, bien, entonces vamos a configurar eso. Si y vamos a revisar nuestra expresión regular, utilice el método de prueba y ¿contra qué lo estamos probando? Qué impuesto Volver a probarlo. Bueno, queremos probarlo contra el valor de este campo de entrada, y así podemos obtenerlo usando un valor de punto telefónico. Ahora. Si eso se evalúa como verdadero, entonces queremos cambiar la clase que se asocia con eso, y así podemos hacerlo con la lista de clases y la lista de clases, tiene un remove y un método agregado asociado a ella. Entonces quitaríamos la clase roja, y luego añadiríamos la Clase verde. Ahora eso se encargará de la situación si se evalúa como verdadera. Entonces si encontramos una coincidencia, Pero si luego borran un personaje o algo así, queríamos volver al rojo. Por lo que indica que no es un partido. Entonces vamos a terminar esto con la cláusula else. Y básicamente solo hacemos lo contrario de lo que estamos haciendo aquí. Entonces voy a copiar eso, y esto será verde y esto se leerá. Ahí vamos. Sigamos adelante y guardemos eso y veamos cómo nos funciona eso. Entonces voy a refrescarme ahora. Adelante y empecemos a escribir un número de teléfono. Esta vez sólo voy a usar periodos y se vuelve verde. En cuanto obtengamos un número completo válido. Bueno, eliminemos un periodo permanece verde. Eliminar otro periodo permanece verde. ¿ Qué pasa si eliminamos un número, aunque ah vuelve a leer, Tuvimos un número vuelve a verde. ¿ Qué tal si agregamos un prin ahí y una huella ahí que aún lo acepte. Ahora agreguemos un guión aquí. ¿ Todavía lo aceptas? ¿ Y si tuviéramos un guión aquí? Todavía acepta todo eso es válido. Por lo que parece que nuestra validación de números telefónicos está funcionando. Y pudimos configurar eso en una expresión regular y hacerlo más preciso por la repetición que acabamos de cubrir en este apartado en particular. Muy bien, pasemos a la siguiente sección. 26. Comprender las expresiones ancladas: esta sección se titula Expresiones ancladas. Pero, ¿a qué nos referimos con eso? ¿ Qué es una expresión anclada? Bueno, déjenme dar un ejemplo. ¿ Y si quisiéramos encontrar una expresión en particular? Una palabra. Pero nosotros Onley queríamos un partido. Si esa expresión llegara al inicio de una cadena o quizás al final de una cadena, ¿cómo haríamos eso? Podemos hacer eso con expresiones ancladas. Este es un ejemplo de lo que es posible con las expresiones ancladas. Por lo que esta sección tiene una diferencia distinta con respecto a las secciones anteriores. Estamos aprendiendo en esta sección a definir posición. Hasta este punto, tomaríamos un partido sin importar en qué parte de la cuerda se produjera. Pero ahora aprenderemos dedo del pie poner posición merodeadores alrededor de ese partido. Puede que no sea sólo el inicio o el final de una cuerda. También podría ser el inicio o el final de una palabra. Entonces de eso se trata todo este apartado. Entonces lleguemos a ello. 27. Usar los anclados de principio y final: el primer conjunto de personajes Medic anclados que vamos a ver nos permiten especificar un partido que es el inicio de una línea o al final de una línea. Por lo que estos caracteres medic de anclaje especifican la posición donde debe llevarse a cabo la estera. Echemos un vistazo a estos dos personajes de materia, así que primero es la zanahoria. El zanahoria ancla el partido al inicio de la línea. El personaje medic compañero para la zanahoria es el signo del dólar, y ancla el partido hasta el final de la línea. Entonces cuando estos personajes de materia se usan en una expresión, básicamente lo que está diciendo es que la expresión tiene que ubicarse en un lugar determinado para que el partido ocurra cuando usamos la zanahoria. Obviamente, eso tiene que ubicarse en el mismo inicio de la línea donde el signo del dólar está al final . Es lo último, y si es lo último, entonces produce un partido. Echemos un vistazo a algunos ejemplos que voy a saltar a los rechazos. Pal y yo tenemos algo de texto aquí. Uh, proporcionar alguna información sobre el carácter medic de punto lo cual es alguna buena información. Pero queremos utilizar este trabajo de dedo gravado con partidos que ocurren al inicio o al final de la línea. Lo primero que voy a hacer es pero la palabra tu expresión en Oregon. Podemos ver que coincide en dos lugares porque tenemos la bandera global como parte de una expresión regular. Ahora, si también agregamos el caso ignorar bandera el I, entonces podemos ver múltiples partidos a lo largo. Sin aviso ¿qué pasa si le agregamos la zanahoria? El cuidado va a precisar que la palabra el tiene que estar al inicio de la línea, Así que coloqué la zanahoria. Ahora sólo tenemos un solo partido porque eso es lo único que existe al inicio de esta línea de texto. Ahora este texto se envuelve, pero realmente, el inicio está justo aquí. Por ejemplo, si lo hiciera en I m, no conseguiríamos un partido aquí mismo porque no es una línea nueva. No es el inicio de una mentira. Ahora bien, ¿qué tal si entré primero? Ahí encuentra un partido, pero ahora sumemos el signo del dólar y porque el signo del dólar especifica que éste será el final de la línea. Agregamos el hombre, un personaje al final. Entonces básicamente lo que está haciendo es que se ve y encuentra una coincidencia. Y luego cuando se topa con el signo del dólar personaje Matic, se asegura de que coincidan al final de línea y aviso. No es lo último. T no es duradera. También hay un periodo ahí. Entonces si fuéramos dedo del pie sumamos un periodo ahora obtenemos un partido porque eso es al final de la línea. Ahora bien, ¿y si usamos ambos juntos? ¿ Qué hace eso por nosotros? Como probablemente adivinaron, no estamos consiguiendo una coincidencia, Pero ¿cuándo usaríamos algo como esto? ¿ Cuándo usaríamos una expresión rodeada tanto de la zanahoria como del signo del dólar? Bueno, eso es quizás si quisiéramos encontrar un partido donde eso es lo único que existía y quisiéramos asegurarnos de que no había nada más con él, Por ejemplo, si tuviera un espacio aquí de repente eso ya no es un partido, porque esto tiene que ser lo único que hay ahí. Elimina ese espacio y obtenemos el partido de nuevo. Por lo que estos empiezan un fin. Los personajes de meta pueden permitirte hacer algunas cosas que no serías capaz de hacer de otra manera. Ahora hemos introducido el inicio y el final anclando los meta personajes, y estos dos metapersonajes juegan un papel importante cada vez que se utiliza la bandera multilínea, la M. Así que necesitamos hablar de estos con la bandera multilínea, y eso es lo que vamos a hacer en el siguiente tema. Entonces sigamos adelante. 28. Usar la bandera de varias línea: Ahora que hemos introducido expresiones ancladas, es importante explicar cómo actúan en modo multilínea. El concepto del cuidado es que coincide con el inicio de la línea. Específicamente utilicé el inicio de la línea para describirla porque cuando usamos la bandera de modo multilínea , buscará una coincidencia al inicio de cada línea. Si son múltiples líneas en el texto y eso es cierto del signo de dólar que coincide al final de la línea, buscará una coincidencia al final de cada línea. Modo multilínea. Realmente efectos Onley La zanahoria y el dólar firman meta personajes porque especificarán una posición, una coincidencia que está atada a una línea de texto. Veamos cómo esta bandera multi mentirosa afecta las cosas ahora aquí en rechaza pal. Todavía tengo el mismo texto y vamos a seguir adelante y poner en la palabra que otra vez como estamos trabajando en el último tema, sabe que obtenemos múltiples partidos hasta que agregamos un cuidado y obviamente eso luego lo reduce a un solo partido y es un inicio de esta línea. Esto ahora mismo se considera una línea. Entonces hasta que tengamos un salto de línea, no hay una segunda línea. Pero puedo poner otro salto de línea aquí. No obtenemos partido. No hay coincidencia porque el modo multilínea no se ha activado usando esa bandera M. Entonces sigamos adelante y activemos eso. Y ahora se puede ver que sí obtenemos un segundo partido en el arranque de esa segunda línea y se puede ver que tenemos la M como parte de nuestra expresión regular. Ahora tenemos el G, el I y el M. El ojo indica que queremos ser insensibles a mayúsculas y minúsculas. El G indica global, por lo que el mayor número de coincidencias posibles en la M indica multi línea, lo que afecta a la zanahoria y dice ahora que confinan partidos, no sólo el inicio de todo el texto, sino al inicio de cada línea. Ahora eso será cierto también con el signo del dólar. Entonces vamos a reemplazar esto por un periodo y por supuesto entramos periodo. Se trata de un personaje de materia que especifica cualquier personaje, así que escapemos de eso y ahora podemos ver que obtenemos cinco partidos. Ahí hay cinco periodos Pero si queríamos especificar el final de una línea, entonces ponemos el signo del dólar después de ella. Sin aviso de que sólo conseguimos un partido en el último periodo. ¿ Por qué sucedió eso? ¿ Qué está pasando aquí? Bueno, echemos un vistazo. Aviso conoce el espacio Después del periodo, había un espacio antes de la palabra el y cuando presioné retorno y creé un salto de línea, el espacio aún se dejaba ahí. Si elimino ese espacio, entonces obtenemos un partido sin periodo también. Por lo que tiene que ser lo último en la línea. Ahora es importante recordar que este modo multilínea, cuando agregamos que en bandera al final de una expresión regular es un fax, el símbolo de zanahoria y el símbolo de signo de dólar. Debido a que están atados a líneas, están especificando una posición en una línea por lo que técnicamente hablando en modo multi línea, el cuidado que coincidirá al inicio y luego después de cada salto de línea. Entonces aquí hay un salto de línea aquí, justo al final de eso, y así la zanahoria hará que busque otro partido justo después de ese salto de línea, mientras que el signo del dólar coincide al final de la línea, pero justo antes cada línea se rompe. Entonces aquí hay un salto de línea y está revisando justo antes de esa misma cosa aquí. OK, entonces es o el final de los datos o justo antes de un salto de línea. Eso es lo que está pasando con el signo del dólar. No, si creo que si guardas esa definición técnica contigo, creo que te ayuda a entender cómo funcionan esos y cómo usarlos cuando estás creando expresiones regulares que quieres ancla del dedo del pie en una posición específica en la línea. Ahora hay una distinción más importante que necesito mencionar sobre el modo multilínea. Permítanme ilustrar esto. Voy a quitar la bandera multilínea para que la M se haya ido del aviso de expresión regular . Tenemos un partido ahora. Al final mismo. Tenemos múltiples líneas aquí, pero esto ahora está especificando al final de todo ese dólar firmó tarjeta Medicare especificando que porque no estamos en modo multi línea y así lo encuentra aquí y si consigue un partido, pero sí no consigue este porque no estamos en modo multilínea. Pero mira, qué pasa si entro un retorno aquí ahora que ya no está al final y así no se dan partidos . Por lo que en modo de línea única, esto no conseguiría un partido porque se ha agregado la tercera línea de EU y por lo que ya no es lo último en el texto. Pero si activamos el modo multilínea, entonces por supuesto conseguiría un partido ahí. Por lo que en modo multilínea, está buscando un partido. Si se produce un salto de línea después inmediatamente después de lo que hayamos especificado en nuestra expresiónregular expresión , de acuerdo, pasemos al siguiente tema. 29. Trabajar con los límites de palabra: expresiones regulares consiste en otro carácter meta apretado de anclaje, y este nuevo ancla define el límite de una palabra. Entonces si queremos asegurarnos de que nuestro patrón sobre Lee coincida con una palabra que no forma parte de una palabra, podemos usar un límite de palabras. No, También hay otro carácter de materia, los louses para especificar un límite no palabra. Por lo que el lado izquierdo o derecho del patrón necesitará un carácter que no sea de palabra para crear una coincidencia. Esto es básicamente lo contrario de una palabra límite. Entonces, veamos estos meta personajes primero fuera de nuestro carácter límite de palabras. Es una minúscula estar con ustedes escape. Entonces escapamos. En minúscula sea para crear nuestro límite de palabras, y esto indica que el patrón está delimitado por un carácter no palabra. Dependiendo de qué lado del patrón lugares débiles, podemos colocarlo en el lado izquierdo y en el lado derecho. Si lo colocamos en ambos lados y indica, bueno, bueno, lo que sea que haya dentro, este necesita ser un patrón que esté delimitado por caracteres que no sean de palabra. Ahora bien, lo contrario de eso es sólo la mayúscula. Sea así nos escapamos de la mayúscula sea, y eso indica que el patrón está ligado por caracteres de palabra y que podría colocarse, por supuesto, la izquierda y a la derecha. Ahora, ¿a qué nos referimos cuando estamos haciendo límite de palabras? Bueno, como con los últimos personajes de anclaje de los que hemos hablado, el símbolo de zanahoria y el dólar firman estos meta caracteres de palabra límite posición de referencia , no un personaje real que es importante recordar con tipo de anclaje facilidad. Medicare ocurre que están referenciando posiciones, pero al referenciar posiciones fueron capaces de definir MAWR. Expresiones regulares exactas. Ahora sólo recuérdele. ¿ Cuáles son las palabras caracteres? Bueno, realidad, los caracteres de palabra coinciden exactamente con nuestro atajo de palabras. El escape W y que es igual a mayúscula y minúscula Z A A través de Z y luego cero a nueve y luego también un subrayado subraya una parte de un carácter de palabra. Entonces eso es lo que representa los caracteres de palabra. Entonces vamos a saltar a rechaza Pal y echar un vistazo a algunos ejemplos. Ahora tengo una frase aquí, y la razón por la que elegí estas frases porque usa la palabra plan en múltiples lugares. En un lugar es la palabra entera, pero en otros lugares, es sólo partes de una palabra. Entonces sigamos adelante y pongamos un plan en nuestra expresión regular. Nosotros lo concedimos partidos cuatro lugares. Ahora bien, si quisiéramos igualar el plan Onley como una palabra y no como parte de una palabra, usaríamos un límite de palabras para hacerlo. Comienza con un límite de palabras a la izquierda. Entonces usamos corte de escape y luego una B. Y ahora nos hemos limitado a tres partidos. Los tres partidos son el inicio de la palabra significado. Lo que hay en el lado izquierdo del mismo es un carácter no palabra. En este caso, es un espacio. En los tres casos, es un espacio, pero también podría ser otros personajes. Hay un guión. Muchos de los símbolos, por ejemplo, por ejemplo, son caracteres que no son de palabra. También podría ser el inicio de algo. Por ejemplo, si volviéramos a tener eso coincide con su porque ese es el inicio de nuestra frase. Y así el lado izquierdo de eso es un carácter sin palabras. Y así conseguimos ese partido. Déjame volver al plan. Ahora dos de estos todavía tienen un carácter de palabra En el lado derecho, podemos ver ese té y el mal zor ambos carácter de palabra. Entonces si hiciéramos otro límite de palabras que nos asegurara de que Onley agarramos la que es una palabra donde plan es la palabra completa, no es parte de una palabra. Es la palabra completa. Y eso es lo que una palabra límite puede hacer por nosotros ahora. Los límites de palabras no tienen dedo del pie solo se usan con palabras completas. Por ejemplo, podría ser algo así. Y por supuesto, podemos mezclar en nuestro patrón que atamos con estos meta personajes. Podemos usar cualquiera de las otras cosas que hemos aprendido sobre las expresiones regulares. Ahora, con nuestra bandera global, podemos ver que aunque usamos la palabra límite, podemos igualar más de un lugar. Debido a que ambos patrones este th i s están delimitados por caracteres que no son de palabra. Muy bien, volvamos al plan. Y ahora el almuerzo Cambia estos dos límites sin palabras. Entonces voy a hacer una mayúscula, ten en cuenta ahora mismo, no vamos a conseguir un partido en absoluto, y eso es porque aquí tenemos un límite de palabras al final. Entonces sólo hay un lugar donde plan es el final de la palabra. Ese no es el caso de Plant. Ese no es el caso de Planet. Ese no es el caso con Implant, pero el inicio de plan tiene ante sí. Un carácter que no sea palabra y la mayúscula sea un especificando que debe ser un carácter de palabra . Entonces, por ejemplo, si solo ponemos una carta ahí, bueno, ahí vamos. Ahora conseguimos un partido. Está bien. Ahora, si cambiamos esta última parte a una mayúscula sea ahora, igualamos el plan dentro del implante porque está delimitado por caracteres de palabra. Por lo que la mayúscula B especifica que está delimitada por un carácter de palabra. El ser minúscula especifica que está delimitado por un carácter que no sea palabra, lo que indica que el patrón en el medio debe ser una palabra. Entonces por eso llamamos a la minúscula ser un límite de palabras porque estamos delimitando una palabra. Y la mayúscula sea, indicamos, es un límite que no sea de palabra. Porque aquí hemos delimitado algo que no es completamente una palabra porque hay caracteres de palabra a ambos lados de la misma. A veces esa distinción puede resultar un poco confusa cuando se trabaja con límites de palabras. Muy bien, pasemos al siguiente tema 30. Escribir expresiones regulares: Hemos cubierto muchas técnicas diferentes que se pueden utilizar en la construcción de expresiones regulares . Tenemos que tomarnos un breve momento para discutir un concepto importante. Es importante intentar escribir las expresiones regulares más precisas que ahora puedas. ¿ A qué me refiero con eso? En ocasiones podemos ponernos perezosos con las expresiones regulares que escribimos. Por ejemplo, una coincidencia en particular que estabas intentando lograr puede tener más de una expresión regular que funcionará para los datos que estás probando. Por lo que rápidamente corrige la expresión regular probada y parece funcionar. Para que ya no lo pienses y simplemente sigues adelante. Pero como sea posible que esa expresión regular pueda tener coincidencias incorrectas de un conjunto diferente de datos. Entonces, a pesar de que estás probando está funcionando, asegúrate de pensar a través de tu expresión regular y que sea lo más precisa posible . Ahora ya hemos visto numerosos ejemplos a lo largo de este curso de esto, pero permítanme mostrar otro ejemplo sólo para enfatizar el punto. Voy a usar el código postal de Estados Unidos como ejemplo. Ahora el código postal de la U. S. S.generalmente consta de cinco números como he escrito aquí. No obstante, también puede tener una extensión de cuatro dígitos como esta, y eso se está volviendo más común. Pero generalmente cuando hablamos de un código postal U. S, estamos hablando de cinco números. Entonces digamos que estaba montando una expresión regular que coincidiría con el código postal. Bueno, podría montarlo como este carácter comodín y luego una repetición, y esa repetición indica que coincide con tu viejo más veces. Ahora nota que obtenemos el partido que queremos. Tenemos un código postal de muestra aquí y obtenemos el partido que queremos. Aunque añadiéramos la extensión de cuatro dígitos, seguiríamos obteniendo ese partido, por lo que parece que está funcionando para nosotros. No obstante, ya estás consciente de que esta no es la mejor expresión regular para hacer esto, pues esto podría igualar cualquier cosa. Puedo poner cualquier personaje en la parte delantera de eso en la parte posterior de ella, lo que sea que les vaya a igualar porque hemos usado el comodín. Entonces vamos a reducir esto. Vamos a reducir lo que se puede emparejar poniendo un rango de dígitos. Ahora bien, si pongo letras en el frente, ya no coincide, ¿coincide con la extensión de cuatro dígitos? No, ahora lo hemos perdido porque ahora nos estamos centrando sólo en dígitos. Bueno, podríamos agregar el guión ahí, y ahora tenemos el partido. Pero incluso con eso, digamos que tenemos un número. Digamos que tenemos un número como este. Eso es un partido. Pero eso no es un código postal ya que onda demasiados dígitos para que sea un código postal. Por lo que necesitamos incluso acostarnos más. Pongamos el número exacto de personaje que quiere repetir ahora. Si volvemos a nuestro código postal original, Sí , coincide Ahora. ¿ Y si tuviéramos múltiples dígitos? Bueno, sigue encontrando un fósforo. Si tuviéramos que tomar todo este bit de datos, no es un código postal, pero está consiguiendo una coincidencia porque los primeros 5 dígitos coinciden con nuestro patrón. Y así es aquí donde necesitamos a Teoh. Agrega anclas a una expresión regular para forzarla a ser el tipo de datos que queremos. Y así pondría un inicio terminó en, y ahora ya no conseguimos ese partido ahora para que pueda conseguir el partido, tiene que ser de cinco dígitos y cinco dígitos sobre Lee porque estamos marcando el punto de partida en el punto final de esos datos. Entonces estrechamos lo que puede ser aún más ahora. Esto, por supuesto, provoca un problema cuando tenemos una extensión de cuatro dígitos como esa. Entonces, ¿cómo contabilizaríamos eso? Bueno, entonces seguimos trabajando con nuestra expresión regular, hacemos algunas de las mismas técnicas, y ahí obtenemos un partido y esto funciona muy bien para eso. No obstante, ¿ igualará sólo cinco zanjas de código? No, no sabe que hemos perdido eso. Para que puedas ver tipo de proceso por el que pasamos aquí y la importancia de que tus expresiones regulares sean lo más precisas posible. Ahora hemos aprendido formas de indicar que los datos pueden repetirse cero o una vez o cero o muchas veces. Y así esta última parte aquí, lo que tenemos que hacer para hacer este trabajo es indicar que esto es opcional, que no tiene que ser parte de ese número. Y así queremos agregar un signo de interrogación que termine, indicar que puede repetirse o no. Pero sin embargo, el signo de interrogación solo aplica a la izquierda más ítem que necesitábamos aplicar a todo mientras que en la siguiente sección vamos a estar buscando agrupar personajes para resolver esto por completo . Pero básicamente lo que quiero enfatizar es la importancia de hacer esas expresiones regulares precisas . Y hay algunas reglas que podemos seguir cuando estamos haciendo eso, para que nos aseguremos de que estamos cubriendo nuestras bases, por ejemplo, cuando sea posible encontrar la cantidad de expresiones repetidas. Entonces cuando empezamos con esto, tenía este tipo de cosas, y no estaba especificando la cantidad en la que se hizo o precisa cuando especificé la cantidad de esa expresión regular. De acuerdo, así que esa es la regla número uno. La segunda regla limita el alcance de las expresiones repetidas. Vimos eso también cuando estábamos trabajando a través de esto. Entonces inicialmente estaba usando comodín, y eso coincide. Eso es genial. Pero el alcance de este comodín es muy grande. Cubre muchos personajes, por lo que estrechamos el alcance con un conjunto de caracteres. Indicamos qué personajes podrían ser parte de ese conjunto. Es así como lo estrechamos. Entonces esa es la segunda regla y luego la regla número tres, la tercera regla a seguir, proporcionar claro, comenzando en cualquier punto. Ahí es donde ponemos los anclajes en nuestra expresión regular. Indicamos que los datos que buscamos deben ser todos los datos que obtenemos. Por eso especificamos que había un inicio y un final, y esos anclajes estaban alrededor de los datos que estábamos buscando. Por lo que no podía haber ningún otro dato fuera de eso cuando recibimos estos datos. Y así especificando los puntos de inicio y final. uso de anclajes y el uso de límites de palabras es también otra regla importante. Por lo que esas tres reglas nos pueden ayudar a ser más precisos con nuestras expresiones regulares y 1/4 regla que no puse en esta diapositiva porque creo que es intuitivo para la mayoría de nosotros. Y eso es lo que necesitamos probar múltiples conjuntos de datos, no solo un solo conjunto de datos. Asegurarse. Ah, funciona con eso. Debe estar funcionando bien. Por lo tanto, luchemos por expresiones regulares precisas para que puedas confiar en los resultados que estás obteniendo. Muy bien, pasemos al siguiente tema 31. Ejercicio 4 inicio: está bien, hemos llegado al ejercicio de script Java Por ahora. Este ejercicio no va a ser demasiado difícil. Simplemente quiero darte la oportunidad de aplicar algunas de las cosas que hemos cubierto en esta sección, y lo estaremos haciendo consiguiendo que utilices el método de reemplazo del rapero de objeto de cadena . Entonces, echemos un vistazo a la asignación ahora. En este ejercicio, tienes un archivo app dot jazz en un archivo de content dot Js, y lo que necesitas hacer es repetir usando el método replace cambió el texto que forma parte del texto variable. Uno. Hay un contenido sobre los cambios de Jess. Por lo que la cualquier ocurrencia de un día a la semana día significado. El lunes, martes, miércoles, jueves, viernes, sábado o domingo se sustituye por el lunes. Ahora, obviamente puedes comprobar para ver qué hay en el contenido dot Js En este momento están fijados para el martes, pero la idea es que tal vez no sepas qué será eso. Ese podría ser un día diferente de la semana, pero para esta aplicación, quiere cambiarlo a lunes. Ahora adelante y solo muestra los resultados a la consola. Entonces no nos ponemos más complejos que eso. Entonces esa es la asignación. Adelante, pruébalo cuando estés listo. Repasemos los resultados. 32. Acabado de ejercicio 4: Muy bien, echemos un vistazo a cómo podríamos hacer esto ahora, antes de que yo empiece. Creo que es importante mencionar que la expresión regular para este ejercicio podría haberse hecho de varias maneras diferentes. Entonces si la mía termina siendo diferente a la tuya, no dejes que eso te despierte. Ahora. Algo que creo que es importante, sin embargo, sin embargo, asegúrate de que la expresión regular que escribes sea lo suficientemente precisa como para que no coincida con cosas que no querrías que coincida. Y también es lo suficientemente precisa como para que sea eficiente en la forma en que está haciendo el emparejamiento ahora en la siguiente sección, vamos a aprender, tal vez una mejor manera de hacerlo. Pero quería que utilizaras lo que ya has aprendido con expresiones regulares. Entonces sigamos adelante y nos ocupemos de esto ahora, ya que solo estoy registrando los resultados al cónsul, todo lo que voy a hacer es configurar una variable para la expresión regular, configurar una variable para el nuevo texto después de haberlo reemplazado, y luego registraré ese nuevo texto de consola. Entonces nada difícil. Entonces primero, vamos a configurar la expresión regular. Ahora voy a usar para banderas tanto globales como el caso. Bandera insensible. No quiero tener que preocuparme por cuál es el caso de las letras. Ya que ahora estoy trabajando con esto, lo otro que voy a establecer son límites de palabras. Creo que esto es importante que tengamos límites de palabras a cada lado de esto. Esa es la forma más precisa de hacerlo. De hecho, si no tienes límites de palabras, dependiendo de cómo hagas tu expresión regular, podrías terminar agarrando esta palabra aquí y reemplazando esa. De acuerdo, entonces esos límites de palabras son importantes. Ahora, al final de cada semana, día es la palabra día. Entonces voy a tener eso. El final de mi expresión regular tiene que igualar un día al final. Y también límite de palabras se asegurará de que nada venga después de eso. Ahora, el resto de esto es donde puede ser muy diferente. Dependiendo de cómo elegiste acercarte a él. Yo quería ser más precisa. Y así hice algunos conjuntos de personajes, sobre todo cómo hice eso. Entonces para empezar, hice todas las cartas con las que una semana podrían empezar ahí mismo. Esos son todos los que podrían empezar. Entonces eso es lo primero que necesita estar en esta expresión para conseguir un partido . Y entonces seguí adelante y entré cualquier carta solo para simplificar las cosas que podría haber hecho pasando por un hacer cada letra de esta manera. Pero eso fue probablemente más trabajado en lo que vale. Y la repetición en ese grupo será una común por la razón que estoy haciendo uno en oposición a dos y cuatro en oposición a cinco es porque también tengo otro conjunto de caracteres que quiero hacer después de esto. Y esta es la última carta antes de la palabra día y los días de la semana. Podemos manejar eso con solo cuatro letras, así que funcionó bastante bonito de esa manera. Entonces con esta carta contabilizada en esta carta contabilizada, eso significa que las cartas que estarán en el medio son o una para algo como el lunes o el viernes, o podría ser hasta cuatro para el sábado y el miércoles. Entonces así es como elegí hacer esto. Muy bien, así que esa es mi expresión regular. Voy a poner un cómic, va a declarar otra variable. Esta será la nueva variable de texto, y voy a establecer eso igual al texto uno reemplazar. Y luego pasé en la expresión regular porque la forma en que funciona reemplazado es lo que queremos reemplazar y luego con lo que vamos a reemplazarlo. Por lo que ese será el lunes. Ahora esto funciona agarrando esta variable aquí porque las variables declaradas aquí y ese archivo de script de trabajo se incluye como parte del archivo HTML. Para que eso funcione para nosotros. Entonces eso es lo que necesito configurar. Ahora Sigamos adelante y registremos sesión en la consola. Simplemente voy a registrar el nuevo texto al concierto. Guarde eso. Copiar este archivo pasado para que podamos probarlo. Déjame ir a la consola. Simplemente abre eso y parece que el texto está saliendo aquí lunes, lunes, lunes, lunes, lunes, allá, y algunos días no ha cambiado, así que parece que eso está funcionando para nosotros. Entonces, como dije, no es un ejercicio muy difícil. Pero da la oportunidad de aplicar algunas de las cosas que hemos aprendido, sobre todo la parte que creo que es importante como esos límites de palabras. Muy bien, pasemos a la siguiente sección 33. Opciones de especificación: A veces es posible que necesite presentar opciones y una expresión regular. Puede ser más fácil presentar opciones en lugar de tratar de descifrar una expresión regular que abarque todas estas opciones. Por ejemplo, en la última sección estábamos tratando de igualar todos los días de la semana, nos ocurrió una expresión regular bastante buena, pero aún así podría estar mal. Echemos un vistazo a eso. Entonces aquí está la expresión regular que se nos ocurrió. Lo que hice es especificar la primera letra y la última letra que viene antes de la palabra día. Y luego usamos un juego de caracteres para las letras entre y la repetición, y eso funciona muy bien. También teníamos, ah, ah, límite de palabras agregado a ambos extremos, y esta expresión regular fue bastante exitosa. No obstante, podría haber algunos errores. Por ejemplo, digamos que aquí hubo un error ortográfico. De pronto eso se convierte en un partido porque se ajusta a los criterios que aquí establecimos. Entonces en este tipo de situaciones, donde hay un número limitado de opciones y sabemos exactamente cuáles son esas opciones, puede ser mejor simplemente expresar esas alternativas en tu expresión regular. El símbolo de tubería divide una expresión regular en múltiples alternativas, y creo que esa es una forma importante de pensar en el símbolo de tubería. Se está dividiendo. El regular expresión en múltiplo son alternativas para que pueda igualar este o éste o éste. Cada vez que encuentres un símbolo de tubería que es un o para tus suplentes, puedes pensar en ello como el operador o y script Java. Excepto en JavaScript. Solíamos canalizar símbolos en una expresión regular. Solo utilizamos un solo símbolo de tubería. Entonces veamos cómo haríamos esto usando alternos. Voy a mantener la palabra límite, y también me quedaré con la bandera de caso ignorar y una bandera global por ahora. Por lo que la primera opción es el lunes. Entonces entro símbolo de pipa. Segunda opción es el martes. Ahora vemos el partido para todos los martes en su símbolo de pipa, por lo que cada vez ponemos un símbolo de pipa que indica que éste podría ser otro alterno. Por lo que conforme está pasando por el texto, está revisando todo contra cada uno de esos suplentes en el último sería domingo . Y así sabe que necesita dedo del pie tener límites de palabras en ambos lados, y luego simplemente puede comprobar cada palabra para ver si coincide con alguno de estos alternos que hemos especificado Now. Esta expresión regular evita una coincidencia con algo como esto que tiene una mala ortografía, por lo que es mucho más precisa. Y el símbolo de pipa que expresa los alternos es algo que es muy valioso y crea nuestras expresiones regulares. Ahora. Una cosa que quiero mencionar, veamos qué pasaría sin la bandera global. Yo lo apago. Por supuesto, solo coincide con la primera opción. Ahora lo haría, ya que se encuentra con cada palabra porque tenemos la palabra límites. Pasaría por cada uno de estos suplentes y en cuanto coincida con uno de ellos, entonces se detendrá en ese punto para que no pase y encuentre un partido para el lunes, martes, miércoles y jueves y viernes. No hace eso. Solo está buscando un partido para cualquiera de estos suplentes. Y cuando encuentra un solo partido, entonces es bueno. No, obviamente, con la bandera global, podríamos tener a uno de estos ser otro día de una semana y encuentra un partido para ello. Creo que eso fue probablemente intuitivo, pero creo que es importante señalarlo, así que entiendes cómo estos alternos están funcionando realmente ahora. En este ejemplo se utiliza un total de siete suplentes. En la mayoría de los casos, cuando usas la tubería, no tendrás tantos. Estarás eligiendo entre dos o tres suplentes. Ésas suelen ser las situaciones que he visto ahora, también en este ejemplo, usamos palabras enteras lunes, martes, miércoles y así sucesivamente. Pero recuerda, estas palabras son simplemente un patrón. Eso es realmente lo que se está expresando aquí es un patrón. Simplemente pasa que lo vemos como una palabra. Y entonces, ¿qué significa eso? Eso significa que podemos usar el símbolo de tubería para proponer expresiones alternas. Entonces veámoslo de otra manera. Esto podría hacerse mucho menos preciso que lo que tengo aquí, pero muestra que puedo configurar una expresión y luego usar el símbolo de tubería para hacerlo una expresión alterna. Por lo que en primer lugar, tengo un personaje establecido un a través de Z y para el lunes eso tendría que repetirse tres veces y luego terminar en el día de la palabra. Y así que funciona que encuentra un lunes. Ahora podría hacer un símbolo de pipa y contemos para el martes. Esta vez usaré una palabra límite otra vez un a través de Z, y esta vez ahí habrá cuatro repeticiones de cuatro antes de la palabra día que encontró martes. Y luego podemos continuar con el miércoles, que serían seis. Oops, me olvidé de incluir mi límite de palabras, otro límite de palabras. Y luego, por supuesto, nuestro conjunto de personajes. Y luego nuestra repetición de seis días y un final con la palabra límite. Y así seguiríamos por ese camino para que veas que he podido utilizar el símbolo pipa dedo del pie alterna a través de expresiones también. Por lo que ojalá esto se abra. Qué es posible con este símbolo de pipa. El poder de expresar alternos y una expresión regular no sólo puede simplificar cierta expresión regular abre mejor lo que eres capaz de hacer. Muy bien, pasemos al siguiente tema. 34. Uso de la agrupación: es hora de echar un vistazo a la agrupación en expresiones regulares. El agrupamiento se logra con paréntesis. El uso de paréntesis y expresiones regulares permite agrupar porciones de esa expresión. Ahora, en JavaScript, podemos usar paréntesis, agrupar partes de una expresión también. Cuando usamos impresiones Season Java script , establece precedencia. código dentro de paréntesis se evalúa antes de que se consideren otros operadores, y esto es cierto con paréntesis y expresiones regulares también. Establece precedencia. Ahora hay otras aplicaciones de agrupación, pero estaremos viendo esas otras aplicaciones en temas posteriores. Simplemente quiero introducir la idea en este tema. Veamos un ejemplo que muestra el valor de la agrupación. No, digamos que estás tratando de igualar un número que se parece algo al número que se muestra aquí . Ahora, permítanme darles las reglas para este número. Consiste en cinco pares, y cada par consiste en una letra entre A y D y luego un número entre uno y cinco. Entonces aquí los pares de este número, estamos viendo cinco pares diferentes, y como puedes ver, cada uno comienza con la letra y están todos entre a y D, y luego el segundo elemento es un número, y eso es entre uno y luchar. Y luego tiene otro par que sigue la misma regla. Es un total de cinco pares. Ahora, ¿cómo montaríamos esto en una expresión regular? Bueno, echemos un vistazo a eso. Entonces aquí hay algunos números. Ahora algunos de estos siguen ese patrón y otros no. Y así vamos a tratar de averiguar qué do en el que no usar una expresión regular. Entonces tenemos un par y cada par comienza con una letra entre un ND para que podamos hacer un conjunto de caracteres así y encuentra todas las letras. Y luego a eso le sigue un número entre uno y cinco. Y podríamos hacer un juego de personajes para eso también. Ahora puedes ver que estamos emparejando cada uno de los pares individuales. No estamos coincidiendo con el número entero. Estamos emparejando cada par individual. Entonces, ¿cómo se repite esto? Bueno, intentemos repetirlo cinco veces y veamos qué pasa. Bueno, ahora no estamos igualando nada ahora. ¿ Por qué eso no funcionó bien porque está repitiendo el ítem más izquierdo. Está repitiendo el número. Entonces si entráramos aquí y pusiéramos cinco números, repente coincide, tiene una letra y luego cinco números cada uno número uno al cinco. Entonces eso es lo que está pasando ahí. Si bien podemos resolver esto usando la agrupación, podemos convertir ambos en un grupo, y luego podemos repetir el grupo cinco veces. Entonces pongamos paréntesis alrededor de eso. Cierto, ahora obtenemos partidos y esos son los tres que coincidieron con el patrón del que hablamos. Ahí hay algún pelo, para que eso no coincida. Hay dos letras juntas que para que eso no concuerde. Ahí hay un seis, así que eso no coincide. Aquí hay dos números juntos, así que eso no hace y así usando el agrupamiento, podemos resolver ese problema. Ahora Veamos otro ejemplo. Permítanme que sustituya el texto. Ahora Esto es similar al ejemplo que tratamos en el último tema. Vamos a usar días de la semana otra vez. Ahora queremos igualar esos días de la semana, así que voy a hacerlo. Pero el lunes y luego vamos a usar el símbolo de pipa para permitirnos precisar. Ocho especifican alternativas, y así el martes también es una posibilidad el miércoles también es una posibilidad Ahora. No quiero agarrar estos días de la semana si no son una palabra completa para sí mismos. Entonces en este caso, los martes es algo que no quiero agarrar. Yo sólo quiero agarrarlo si es una palabra. Y así debilita a Jack que poniendo una palabra límite alrededor de estos, ¿ verdad? Entonces hago límite de palabra ahí en un límite de palabras ahí. Ahora eso funciona el miércoles porque periodo realmente califica es un límite de palabras. Por lo que el miércoles está funcionando. El lunes está funcionando, Pero ¿por qué es un martes acaparador fuera del martes? No debería estar agarrando eso. Y eso es porque una vez más, el miércoles tiene un límite de palabras y el lunes tiene un límite de palabras antes, pero no después del miércoles. No tiene uno antes del martes. No tiene un límite de palabras a ninguno de los lados, así que podría poner algo por delante del martes también. Todavía hay partido, pero si pongo algo por delante del lunes, ya no coincidiría por ese límite de palabras. Y si pongo el miércoles aquí al final, ya no igualaría por ese límite de palabras. Entonces la forma de hacer esto correctamente con un solo conjunto de palabras enlazadas en lugar de poner límites a las palabras alrededor de todo. Podemos hacer eso con la agrupación otra vez. Entonces voy a poner todo esto dentro de paréntesis. Ahí vamos. Ahora bien, si pongo algo delante del lunes, no coincide mucho. Martes No coincide por el S. miércoles. Poner algo después, no coincidiría. Y así agrupar nos ayuda a resolver de nuevo este problema. Por lo que en ciertas situaciones que has podido ver el agrupamiento puede ser muy valioso. Pero hay otras aplicaciones para ello también. Entonces pasemos al siguiente tema. 35. Uso de la Agrupación con JavaScript: toda la información de expresión regular que se cubre en este curso se puede utilizar, por supuesto, con JavaScript así como muchos otros idiomas. Entonces, ¿por qué tener un tema con el ejemplo específico de Javascript? Bueno, Grouping presenta una aplicación única y javascript que quería mostrarte. Entonces eso es lo que estaremos haciendo en este tema. Permítanme explicar primero este escenario. mantendremos un tanto sencillo. Digamos que estamos recibiendo información de fecha como entrada de un formulario o algo así. Y queríamos tomar esa información de fecha y separar el mes, el día del año y almacenar esa información por separado. Y solo para mantenerlo sencillo, digamos que la información de fecha que estamos recibiendo será requerida para venir en un formato como este. Por lo que comienza con el año cuatro dígitos. Entonces tiene un separador. A menos que vea que separado podría ser una slash. Al igual que mostramos aquí podría ser un guión o podría ser un periodo, y luego tenemos un mes. Digamos que el mes podría ser de un dígito o dos dígitos y luego otro separador. Misma situación es el primer separador, y luego el día también puede ser uno o dos dígitos, así que ese es el patrón que queremos igualar. Pero además de emparejar eso y asegurarnos de que la fecha haya entrado en ese patrón, entonces queremos separar el año, el mes y la fecha. No, normalmente en JavaScript, cuando separamos las cosas, usamos split en una cadena por lo que recibiríamos los datos de este traing y luego nos dividiríamos en lo que se use como separador. Ahora, porque estamos permitiendo diferentes separadores, hace que sea un poco más difícil hacer esa división. Tendríamos que usar algunas declaraciones if para averiguar cuál es el separador antes de poder hacer la división. Pero cuando estamos usando una expresión regular para comprobar la entrada de todos modos para asegurarnos de que coincida con un formato en particular, también podemos usar esa expresión regular para separarla siempre y cuando estemos usando agrupación. Y eso se debe a que la agrupación captura datos. Entonces primero, vamos a resolver la expresión regular, y luego veremos el ejemplo de script Java, así que voy a saltar a rechazos Pal. Ahí es donde lo resolveremos primero. Aquí tengo una fecha de muestra ingresada año, mes, día. Ahora estos datos provienen de un campo de entrada de algún tipo. Y así quiero asegurarme de que esos son los únicos datos que estamos recibiendo. Y así voy a especificar el inicio y el final de esos datos de esa corriente. Ahora lo primero que vamos a conseguir es ya un año. Pongamos esto dentro de un grupo. Entonces ponemos los paréntesis y la razón por la que lo estamos poniendo en un grupo es porque esto va a captar estos datos para nosotros también, que podamos usarlo ahora. Queremos tener cuatro dígitos. Simplemente lo haremos de esa manera Ahora, entre ese año, podemos tener un separador y ese separado podría ser uno de los tres personajes. Mencionamos un guión ah punto o una slash. Entonces obviamente necesitamos un conjunto de personajes y vamos a seguir adelante y poner esos en así. Ahora tenemos otro grupo, y esto será un mes, y eso podría ser uno o dos dígitos. Y así hagámoslo así. Ponga un dígito, y luego le indicamos que la repetición puede ser la uno o dos ahora tenemos otro separador estaban usando ese mismo patrón otra vez para el separador. Yo haría eso como juego de caracteres y luego un último grupo Y ese último grupo va a verse exactamente como el grupo de mes porque podría ser uno o dos dígitos también. Y ahí tenemos un partido. Coincide con nuestra fecha. Veamos qué pasa si ponemos múltiples dígitos todavía coincidencias. ¿ Qué tal si tenemos un separador diferente? Todavía coincide para que podamos ver que esto es la expresión regular está funcionando para nosotros. Entonces tenemos una expresión regular, y ahora podemos transferir esto y usarlo dentro de nuestro JavaScript. Entonces voy a copiar el código de mi expresión regular y voy a saltar ahora a Sublime y vamos a montar el reporte de empleos. Ahora, aquí hay algunos datos que vamos a estar usando como ejemplo ahora como mencioné, estos datos estarían viniendo de un formulario. Yo sólo voy a ponerlo aquí para que podamos ver cómo trabajaríamos con esto ahora para empezar a trabajar con él, necesitamos crear una expresión regular. Adelante y pega en lo que nos dimos cuenta ya está nuestra expresión regular, y voy a declarar bien otras variables, y esto va a ser una matriz. Y aquí es donde quiero mostrarles lo que podemos hacer. Con los habituales descansando usando el método exacto de expresiones regulares en JavaScript, podemos dividir esa información en una matriz. Ahora, cuando miramos exacta previamente, indicamos que exacta nos dio alguna información adicional. Bueno, con el agrupamiento, obtenemos aún más información. Se divide cada uno de estos grupos en una matriz. Ahora bien, ya teníamos un elemento en la tarifa, y ese es el insumo. Se ahorrará eso en la posición cero pero exacta saldrá a los grupos en las posiciones 12 y tres, y luego podremos usarlo. De acuerdo, así que déjame echar un vistazo a esto. En primer lugar. Echemos un vistazo a esto primero y luego regresaremos y terminaremos este ejemplo, Así que voy a guardar que yo. Simplemente salta atrás y refresca, y luego lo es. Abre el cónsul y echa un vistazo a esa matriz. Y aquí está nuestra posición de array. cero es el dato original, pero notado La posición uno es el año a mes y después día. Y así somos capaces de separar esos hacia fuera, y aún tenemos la otra información que se proporciona con el método exacto. Entonces sabiendo que eso nos permite resolver este problema sin usar split. Entonces saltemos atrás y terminemos esto. Entonces solo para darnos un lugar donde almacenar esta información, voy a declarar tres variables más así, y luego vamos a hacer una declaración if para comprobar si los datos son correctos. Entonces si la prueba de punto de expresión regular usando el método de prueba y luego probamos en los datos, si eso es igual a verdadero, eso devuelve ya sea verdadero o falso. Si recuerdas, si eso es igual la verdad y seguimos adelante y trabajamos con los datos más haríamos algún tipo de manejo de aire. Sólo voy a hacer una declaración de registro de consola aquí. Formatos equivocados. Algunos así. Ahora aquí podemos seguir adelante y poner la información en el lugar correcto. Posición uno. El segundo puesto en la matriz tendrá que el año haga lo mismo con el mes. Simplemente úsalo al día. Yo solo uso tres. Por lo que aquí tenemos configurada nuestra sencilla solución. Vamos a seguir adelante y echar un vistazo a esas variables corriendo de nuevo. Toma a variables locales. Estamos obteniendo la información correcta. Entonces refrescamos eso ahora si solo esperamos un año 2000 18 mes, tres días nueve. Por lo que ahí podemos ver que somos capaces de resolver ese mismo problema sin usar Split. Y esto nos resulta ventajoso porque si estamos permitiendo múltiples separadores diferentes en nuestro partido, entonces sería un poco más difícil usar split para eso. Pero con la expresión regular ya creada, solo podemos usar el método exacto para sacar esos datos. Entonces ese es un concepto importante sobre el agrupamiento y que los grupos capten información para nosotros, y vamos a estar viendo eso con más detalle en el siguiente tema. Entonces pasemos al siguiente tema 36. Comprender los grupos de capturar: Los paréntesis en expresiones regulares se conocen comúnmente como grupos de captura. El motivo de la captura de palabras es que no solo agrupan partes de tu patrón, sino que capturan esa porción para usarla más adelante si es necesario. Esto lo vimos hasta cierto punto con el ejercicio que hicimos en el último tema. El método exacto utilizó la naturaleza de captura de los grupos para luego poner los resultados en una matriz . En este tema, vamos a ver cómo capturar grupos con más detalle. Ahora empecemos con una simple expresión regular. Entonces déjame saltar a proyectos Powell y voy a poner un grupo con dos letras y aquí abajo en nuestro texto, pondré la palabra Yo Yo! Y ahora mismo estamos captando a ambos de manera individual. Entonces llegamos a capturas de eso ahora. ¿ Y si quisiéramos captar la palabra completa? Bueno, esto está configurado es un grupo, y ahora podemos referirnos a ese grupo y hacer que se repita. Entonces la forma en que nos referimos a un grupo anterior es que hacemos nuestro personaje de escape justo ahí, y luego ponemos el número del grupo al que queremos referirnos así ahora mismo en esta expresión regular, sólo tenemos un solo grupo, por lo que ese sería el grupo número uno. Entonces puse uno, y ahí podemos ver que captura toda la palabra yo yo en lugar de dos capturas separadas . Muy bien, hagamos ahora una expresión regular más realista. En el tema anterior, estábamos trabajando con fechas, y tuvimos una expresión regular como esta. Déjame pegarlo en. Y el propósito de eso era capturar fechas que tiene año de cuatro dígitos, mes de uno o dos dígitos, día de uno o dos dígitos, y entonces el separador podría ser cualquiera de esos tres caracteres. Entonces sigamos adelante y pongamos aquí una fecha que podamos capturar. Simplemente haz algo así. Ahora, al mirar esta expresión regular, se puede ver que tenemos varios grupos, pero también tenemos lugares en la expresión regular que repiten que son los mismos. Por ejemplo, este separador, este conjunto de caracteres que tiene un separador caracteres en él. Aquí se repite, y este grupo se repite aquí. Este es un gran ejemplo de cómo podemos usar grupos de captura, por lo que este grupo en particular, que es el grupo número dos. Podríamos simplemente usar de nuevo aquí al final. Adelante y probemos eso. Y ahí todavía obtenemos la captura. Por lo que esto indica que estamos repitiendo lo que está en el Grupo dos y este grupo hasta aquí porque este es el primer grupo, el 1er 1 con paréntesis. Este es el segundo grupo ahora. También podríamos repetir esta porción, pero necesitamos crear un grupo a partir de ella primero. Entonces ponga paréntesis alrededor de eso. Ahora ese es el segundo grupo. Entonces repita ahí el segundo grupo y luego repita el tercer grupo. Y ahí seguimos esa captura, por lo que hace que la expresión regular sea un poco más sencilla. Dura un tipo en mediante el uso de grupos de captura cuando tenemos patrones que se repiten. Entonces por defecto, un grupo captura, sin embargo, podemos hacer un grupo, lo que es no captura, y esto se hace poniendo una pregunta Mark Colon al inicio del grupo. Echemos un vistazo a eso. Por lo que este grupo aquí mismo no estamos repitiendo en ningún lado por lo que podríamos convertirlo en un grupo no capturador para este ejemplo. No se dan cuenta de lo que sucede cuando hago esto un grupo sobre la captura. Entonces para hacer eso, ponemos un signo de interrogación y un colon al inicio del grupo. Y ahora eso es un grupo no capturador. Pero ten en cuenta que ya no estamos consiguiendo un partido. Y la razón es que cuando convertimos a este grupo en un grupo no capturador, ya no es un grupo al que podamos referirnos. Y así este es en realidad el primer grupo, y este es el segundo grupo. Entonces solo cambiamos esos 21 y a y luego obtenemos un partido. Por lo que convertimos esto en un grupo no capturador. Ahora nuestro emparejamiento esto y esto. Ahora permítanme mostrar otro ejemplo del grupo no capturador. Y hagámoslo con el ejemplo que usamos en el tema anterior. Ya sabes, si recuerdas, este es el ejemplo que estamos usando en un tema anterior, y estábamos usando grupos para sacar el año, el mes en el día usando el método exacto. Ahora estos grupos están capturando, y así podemos agarrarlos y ponerlos en estas variables desde la matriz que se crea con una voluntad exacta tan exacta. Pon estos en elementos en la matriz porque ahora están capturando grupos solo para mostrarte que eso es lo que está haciendo. Hagamos de uno de estos un grupo no capturador y veamos qué pasa. Bajemos aquí al final y hagamos de éste un grupo no capturador. Ahora vamos a guardar eso. Volvamos a nuestra página HTML y la refresquemos y luego abramos la consola y veamos el año. Eso es correcto. El mes es correcto. El día es indefinido, indefinido porque convertí esto en un grupo no capturador. Por lo que ahora ya no lo pone en la matriz y por lo tanto no fueron capaces de agarrarlo de la matriz. Entonces eso te muestra cómo el método exacto está usando esos grupos de subtítulo también. Entonces por defecto los grupos están capturando ahora, ¿ cuándo querrías usar un grupo sin subtítulo? ¿ Por qué no usar siempre grupos de captura, aunque no los uses más adelante en tu expresión, o como parte del método exacto como lo hicimos aquí, por qué no simplemente usar grupos de captura? Bueno, hay dos escenarios posibles en los que tal vez sepas dónde podrías querer usar grupos no capturando y el 1er 1 lo es, si estás creando un grupo y sabes que no vas a capturar, entonces solo podrías usar que como grupo no capturador. Pero el segundo escenario, y uno que probablemente sea más aplicable es si ya tienes una expresión regular que has creado y estás usando grupos dentro de esa expresión regular y estás capturando esos grupos, lo que significa que te refieres a ellos más adelante en la expresión regular. Pero entonces te das cuenta, Oh , espera, quiero un grupo esta información también. Pero al agrupar esa información, echaría fuera de los grupos que ya creaste. Entonces, por ejemplo, digamos que estábamos en este tipo de situaciones que está captando. Y luego decidimos, Espera, quiero hacer un grupo de estos cuatro dígitos sólo por el bien de la claridad o por alguna otra razón. Pero si hacemos un grupo, entonces tenemos que cambiar estos números al final para asegurarnos de que se estén refiriendo al grupo de captura correcto . Entonces esta podría ser una situación en la que usamos un grupo de no captura que simplemente creamos como no captura cuando entramos en él, y luego no desecha a nuestros grupos a los que nos estamos refiriendo más adelante, por lo que eso probablemente sea un razón. Muy bien, pasemos al siguiente tema. 37. Comprender las referencias de grupo: antes de pasar a un nuevo concepto, quiero asegurarme de que no haya confusión sobre las referencias de atrás de grupo, esas referencias de atrás que creamos cuando usamos la barra de escape y un número para referir nuevo a un grupo capturado. Se trata de un área que se puede confundir fácilmente. Y aquí está el porqué. El reverso de referencia no hace referencia al patrón que pones en la expresión regular. En realidad se refiere al texto que fue capturado. Ahora recuerda, los grupos capturan texto. Esta parte es importante recordar. Y así cuando haces una referencia trasera, es hacer referencia a lo que se captura, no al patrón real. Ahora veamos algunos ejemplos que ayudan a reforzar esta idea. Entonces aquí en rechazos, compañera, tenemos un patrón que usamos un ejercicio previo. Es decir, sólo quita el patrón realmente rápido para que podamos ver el texto. Básicamente, tenemos una letra seguida de un número seguido de letra, seguido de un número y así sucesivamente, y las letras necesitan ser de un a a D. Los números del uno al cinco. Y así cuando pego que estos dos personajes lo pone, hay un tres D uno a cinco Y así vemos cuántos partidos obtenemos. Coincide con cada una de esas peras. No, Lo que hicimos en un ejemplo anterior es que repetiríamos después de poner estos en un grupo como este, y luego podríamos hacer que se repita ese patrón para tres SAT, que hemos hecho aquí, y nosotros podría ver cómo eso coincide. Ahora bien, ¿y si nos referimos a este grupo? Tenemos un grupo aquí. ¿ Y si nos referimos a este grupo usando una referencia trasera? ¿ Podríamos entonces lograr lo mismo? Entonces si lo hemos referido una vez el 1er 4 en un patrón como ese, Bueno, la respuesta es no. No obtenemos partido en absoluto. Y la razón por la que no obtenemos coincidencia es porque la referencia posterior no está haciendo referencia al patrón , su referente que hace referencia a lo que realmente ha capturado. Y en este caso, lo primero que se captura es uno. La primera parte de esto. Entonces si fuera a agregar uno justo aquí, entonces obtenemos un partido porque coincide con este grupo y luego coincide con esta referencia trasera que es exactamente igual a este grupo. Ahora, algo más que pueda reforzar. Esto si lo convertimos en en grupo de captura, no tenemos partido. Está bien, déjame hacer un ejemplo más. Déjame deshacerme de esta expresión regular, y voy a copiar en algún texto HTML. Muy sencillo. Sólo una etiqueta fuerte. Y en cursiva, eso es todo lo que tenemos aquí. ¿ De acuerdo? Uno tras otro. Ahora, ¿y si quisiera crear una expresión regular que capturara la etiqueta y todo lo entre ella bien, y se asegurara de que no hubiera etiquetas en el medio. Capturaría lo que tenemos que empezar, y entonces se daría cuenta, Oh, empezamos con fuerte. Por lo que necesito terminar con fuerte. Entonces veamos cómo podemos configurar eso. Y esto usaría una referencia trasera. Vamos a capturar esta parte de la etiqueta, y luego vamos a indicar que cualquier cosa puede interponerse en medio, o ciertas cosas pueden interponerse en medio. Y luego usaremos referencia de vuelta para asegurarnos de que esta última parte sea exactamente la misma. Y funcionará porque estamos capturando el texto real, no el patrón. Está bien, así que vamos a ver cómo habíamos configurado eso. Por lo que lo primero que empezamos es el soporte de ángulo de apertura. Entonces queremos crear un grupo porque esta parte va a ser nuestro grupo, y voy a usar una barra W porque podría haber ciertos caracteres de palabra ahí dentro, y vamos a hacer una repetición de uno o más. Entonces quiero usar el corchete angular de cierre, y ese es el final de mi grupo. Y ahí puedes ver capturamos cualquier etiqueta que esté al frente. Muy bien ahora, entre la etiqueta de apertura y cierre, podríamos tener caracteres de palabra o caracteres de espacio. Eso es lo que voy a decir. Entonces haremos un carácter de palabra, y también haremos personajes espaciales así. Y esto podría ser uno o más. Ahora estamos capturando claro hasta ahí ahora para terminar esto apagado, podemos hacer un corchete de ángulo de apertura y luego podemos agregar la barra y luego podemos hacer una referencia trasera . Y ahí vamos. Ahora hemos capturado en base a la etiqueta, por lo que termina nuestra coincidencia siempre y cuando la etiqueta al final coincida con la etiqueta inicial y eso se debe a que la referencia posterior una vez más se refiere al texto que se captura, no al patrón real. Concepto tan importante para recordar cuando estás lidiando con referencias traseras. Muy bien, pasemos al siguiente tema. 38. Usar grupos de Lookahead: Tenemos que cubrir un tema más con la agrupación en la sección, y eso tiene que ver con algo que llamamos Grupos Look ahead. Ahora bien, no soy fan de este término para esta característica. No creo que realmente describa lo que hace esta característica, así que déjenme dar una definición, y luego veremos algunos ejemplos, para que sepan cuándo podría ser útil incluir una mirada hacia el futuro. Grupo nos permite usar un patrón particular para determinar un partido, pero todo en ese grupo no formará parte de los resultados. Afectará lo que se empareje pero no formará parte de los resultados. Ahora. ¿ En qué se diferencia esto de un grupo no capturador? Y en segundo lugar, ¿por qué querrías hacer esto de todos modos? Entonces vamos a tratar la primera pregunta con un grupo no de captura sin índices creados para ese grupo, lo que no podemos referirnos de nuevo a ella o incluirlo en nuestra solución JavaScript. No obstante, el grupo de no captura sigue siendo parte de los resultados. Sigue siendo parte de lo que se empareja con un grupo look ahead. No forma parte de los resultados. Ayuda a determinar qué es emparejado. Pero ese patrón que forma parte de ese grupo mirada adelante no se convierte en parte de los resultados. Entonces una vez más, la pregunta ¿Por qué querríamos usar esto? Veamos ahora un ejemplo. En primer lugar, para crear un grupo look ahead, utilizamos el signo de interrogación e igualitarios firmados juntos, y esos vienen al inicio del grupo. Entonces justo después de la impresión abierta, ponemos signo de interrogación y luego el signo igual. Como recuerdas, un grupo de no captura utiliza el signo de interrogación y los dos puntos. Entonces la diferencia es que el signo igual se opone al colon. Ahora, para este ejemplo, digamos que queremos hacer coincidir dominios, pero sólo queremos incluir en el partido la parte del dominio que viene antes del punto com. Simplemente usaremos dot com para este ejemplo, así que primero veamos lo que tal vez le guste a la expresión regular en rechaza Bow Y luego una vez que hayamos hecho esto en Reg, exp Out también hará esto como una solución JavaScript porque creo como trabajo solución de script , veremos cómo esto podría ser ventajoso. Entonces primero, el dominio mismo puede incluir cualquier carácter de palabra. Entonces eso es exactamente lo que vamos a poner aquí es un carácter de palabra y luego uno o más de ellos. No obstante, a pesar de que sólo queremos extraer el dominio, la única parte quiere coincidir con el dominio, no con el punto com. Queremos obligar al partido a incluir dot com para que no coincida con él a menos que ese punto com esté ahí. Entonces lo hacemos con un grupo de mirada adelante. Entonces déjame empezar por crear el grupo y luego un signo de interrogación es igual a signo. Y ahora para hacer dot com, necesitamos escapar del periodo porque, como saben, como saben, el periodo es un carácter especial el cual representa mientras que la carta. Entonces nos escapamos de eso porque queremos usar el periodo real y entonces tenemos la palabra venir . Muy bien, así que esa es nuestra expresión regular. Ahora veamos qué pasa si tenemos todas las cosas javascript dot com aviso Obtenemos una coincidencia, y lo único que coincide es esta parte del dominio. No coincide con el punto com, sin embargo, sí lo obliga a tener un punto com. Si quitamos alguna parte de eso, ya no tenemos partido. Entonces este grupo mirada adelante aquí está diciendo Tiene que haber un punto com después de esta parte del texto, que es cualquier carácter de palabra una o más veces, por lo que debe haber un punto com después de eso. Si no hay un punto com, entonces no conseguimos un partido. Ahora. Si hay un punto com, esto podría ser cualquier longitud hasta un carácter, bien, está bien, para que veas cómo funciona eso. Estamos capturando la porción antes del punto com. Ahora veamos cómo eso podría ser útil en un ejemplo de javascript. Entonces déjame saltar a sublime y echaremos un vistazo a eso. Entonces aquí tenemos algunos datos, solo una cadena, y contiene tres dominios. Todas las cosas trabajos. Got dot com. Google dot com, youtube dot com. Una vez más, solo estoy usando el punto com. Simplemente lo voy a hacer simple para que podamos ver cómo funciona esto. Ahora queremos extraer la porción de dominio. Eso es todo lo que queremos salir de eso. Entonces vamos a configurar una expresión regular. Y una vez más va a ser lo mismo que teníamos en rechazos, compañera. Entonces vamos a tener personajes de trabajo uno o más. Y luego vamos a crear nuestro grupo look ahead con un signo de interrogación. Signo igual. Y luego llegamos a escapar de la calma del periodo. Ahí está nuestro grupo look ahead. Déjame cerrar nuestra expresión regular y voy a usar la bandera global aquí porque vamos a usar match con esta solución de script Java y cuando se usan coincidencias. Si usamos la bandera global , creará una matriz de todos los partidos. Entonces ahí está nuestra primera declaración. Ahora vamos a declarar una matriz porque en eso vamos a poner los resultados. Y vamos a hacer partido y recordar partidos hechos en una cuerda. Entonces haremos eso. Data dot match y luego pasamos en la expresión regular así. De acuerdo, ahora, sigamos adelante y guardemos eso y veamos qué obtenemos. Saltemos a nuestra página Web. Refresca. Déjame abrir la consola y déjame simplemente escribir la matriz y notar. Tenemos una matriz con tres elementos, y los ítems que se extraen son la parte del dominio. Está bien, para que eso funcione bien. Déjame solo hacer un tuit a esto. Digamos que esto tenía la otra porción del o l así. Algo así. Digamos que nos vamos ahora. Yo sólo haré dos de ellos. Guarda esa actualización. Echa un vistazo a eso A Reagan, y obtenemos los mismos resultados. Por lo que es quitar la slash slash http. Ahora, ¿por qué hace eso? Pues bien, porque nota nuestra expresión regular, queremos caracteres de palabra que sean seguidos inmediatamente por dot com, y por lo tanto, está extrayendo esta porción de la misma. Muy bien, Tan bonita característica de un grupo mirada adelante una cosa agradable que conduzca hacer en JavaScript con un grupo mirada adelante. Muy bien, Ahora vamos a hacer un segundo ejemplo. Y para el segundo ejemplo, vamos a usar Reg. Exe amigos. Déjame saltar allá atrás. Voy a quitar lo que ya tenemos. Déjame explicarte qué vamos a tratar de hacer. Por lo que queremos crear una expresión regular para contraseñas. Ahora, obviamente, las contraseñas pueden incluir una serie de caracteres diferentes, y esos caracteres pueden estar en cualquier orden por lo que puede dificultar la creación de un patrón. Una expresión regular para igualar contraseñas. No obstante, con mirada a cabezas, podemos hacer esto más fácil porque miro a grupo no consume ningún personaje. Ayuda a determinar el partido. Pero no consume esos personajes. No capta ningún personaje, por lo que podemos usar varios grupos mirar adelante juntos. Y lo que sucederá es que obligarán a la contraseña a contener su patrón, el patrón definido en el grupo look ahead. Pero entonces el siguiente grupo mirada adelante le permitirá trabajar en todo el texto, comenzando en el inicio del texto nuevamente buscando ver si tiene una coincidencia. Y la razón que hace eso es porque cuando un grupo de mirada adelante determina un partido, no consume ninguno de esos personajes. Por lo que el siguiente grupo look ahead comenzará al inicio del texto y comprobará si coincide. Y entonces el siguiente grupo mirada adelante hará lo mismo. De acuerdo, ya sabes, tal vez tú como te explico esto, estás teniendo una idea de adónde voy. Pero si no, vamos a hacer esto para que realmente puedas sentarte. Entonces, armemos este ejemplo y digamos que queremos verificar contraseñas que deben contener al menos ocho caracteres. Por lo que queremos comprobar si hay ocho caracteres incluidos menos un carácter mayúscula, al menos un carácter minúscula y un número. Entonces esas son las cuatro cosas que debe contener. Muy bien, veamos cómo haríamos eso. Entonces, primero, esta contraseña. Queremos precisar que será el inicio y el final de un arroyo. Entonces tenemos esos dos personajes para empezar y terminar ahora. Entre eso, queremos poner nuestra mirada hacia delante grupos, y queremos poner nuestra mirada a los grupos en este punto justo después del personaje titular, porque queremos que comiencen por el inicio de esta bebida y revisen la pantalla. Consulta esta cadena para ver ese patrón. Entonces nuestro primer grupo mirada adelante Hagamos uno. El indica que debe tener ocho caracteres, por lo que primero definimos. Se trata de un grupo look ahead, por lo que no captará ningún personaje, y entonces eso podría ser cualquier personaje. Entonces usamos nuestro comodín, y luego puede ser ocho o más así. Y luego cerramos nuestra suerte tuvo grupo. Entonces esto va a asegurar que la cadena tenga caracteres en ella, pero no va a capturar ninguno de esos. Entonces podemos definir otro grupo look ahead, y esta segunda mirada al grupo comenzará al inicio de la cadena de nuevo porque este grupo look ahead no consumió ningún carácter. Y hagamos este por letra mayúscula. Por lo que lo definiremos como una mirada a grupo. Y antes de encontrarnos con una letra mayúscula, podríamos encontrar muchos otros personajes, cero o muchos. Y luego ponemos un conjunto de caracteres para caracteres en mayúsculas como este. De acuerdo, entonces a ver qué es decir eso. Puede haber personajes por delante de esto, pero al menos queremos una letra mayúscula entre A y Z. Eso es lo que está diciendo, bien. Y como es una mirada a grupo, no va a consumir nada. Por lo que el siguiente vistazo al grupo comenzará de nuevo al inicio de la cadena, y éste vamos a hacer caracteres en minúsculas, por lo que esto va a verse muy similar al que acabamos de hacer. Marca de interrogación Signo igual, comodín cero o muchos, y luego un carácter establecido un a través de Z, luego cerrar están buscando grupo. Ahora tenemos que revisar una cosa más, y ese es un número. Por lo que una mirada más al signo de interrogación grupal es signo define es mirar grupo, luego una vez más, tenemos un comodín porque un personaje podría ocurrir antes de un número y luego otro conjunto de caracteres de cero a nueve. Ahora, una cosa más que necesitamos agregar antes de que esta expresión regular vaya a funcionar para nosotros. Y eso es lo que tenemos que precisar. Antes tenemos este ancla final. Tenemos que precisar que podría haber otros personajes al final de la misma. Entonces hagamos un comodín y luego un cero o muchos cuantificamos aire. Muy bien, así que vamos a ver cómo funciona la contraseña. Entonces primero, vamos a tener un carácter minúscula que mayúscula y vamos a tener un número, y no conseguimos una coincidencia ahí porque aún no hay ocho, Así que si agregamos algunos caracteres más, ahora tenemos seis siete un personaje más y obtenemos un partido. Entonces básicamente estamos igualando esto, pero no conseguimos un partido. Si estos miran hacia adelante, los grupos no se cumplen. Tienen que conocerse, a pesar de que no forman parte de la captura. De acuerdo, entonces quitamos un personaje igual que vimos. No coincide con menos. Digamos que quitamos un número ahora a menos que lo reemplace por la letra. No obtenemos partido. Vuelve a poner un número. Ahora obtenemos un partido. Quitemos nuestras letras mayúsculas y veamos qué obtenemos. Sin partido. Y así lo está obligando a tener lo que definimos en cada uno de estos grupos mirar adelante. Y luego coincide con los resultados por nuestro carácter comodín y repetición aquí al final. Entonces este es un gran ejemplo de cómo crear expresiones regulares para una contraseña. Una forma de hacerlo. Y es posible por el grupo look ahead. Entonces un patrón que quizá quieras usar en múltiples lugares y tu trabajo de programación. Está bien, sigamos adelante. 39. Usar grupos de miradas negativos: en el tema anterior que describimos Look ahead groups que básicamente requieren el patrón toe incluyen lo que es una parte de ese grupo sin que esa información sea parte del partido? Por lo que el partido no sucederá si no cumple con ese grupo mirada adelante. Bueno, también tenemos negativo mirando a los grupos. Entonces si quisiéramos forzar el dedo del pie patrón sobre Lee ser un partido si no incluía algo que forma parte de un grupo de mirada adelante. Por lo que una mirada regular al grupo tiene un signo de interrogación. Signo igual y negativo. Mira hacia adelante. Grupo utiliza un signo de interrogación. exclamación. Entonces echemos un vistazo a eso realmente rápido. Voy a saltar de nuevo a los rechazos, amiguito, con el ejemplo en el que estábamos trabajando con contraseñas. momento, esto está forzando a este dedo contraseña. Tener a todos estos atributos al menos ocho caracteres. mayúscula, minúscula cero a nueve. Entonces si agrego una letra mayúscula aquí, no conseguimos una coincidencia. Bueno, cambiemos esto. Mira adelante grupo a una mirada negativa a la verdad. Entonces solo ponemos ahí un signo de exclamación y ahora no obtenemos partido porque hay un número en él. Entonces está diciendo Debe tener esto debe tener. Esto debe tener esto, pero no esto. Entonces si elimino ese número, entonces obtenemos un partido que funcione. Entonces así funciona un grupo de mirada negativa por delante. Por lo que puede haber momentos en los que no estás simplemente tratando de asegurarte de que incluya algo, pero estás tratando de asegurarte de que no incluya algo. Por lo tanto, ten en cuenta que eso está disponible. Ahora, antes de terminar este tema, sólo quiero venir aquí a la hoja de tramposos otra vez. Eso es parte de rechazos, amiguito, porque ahora hemos cubierto casi todo lo que forma parte de esta hoja de tramposos aquí en los grupos. Y mira a tu alrededor. Aquí es donde hemos estado lidiando. Esto es lo que hemos estado lidiando en esta sección se capturan. Grupos están de vuelta referencia a un grupo no capturando grupo, mirada positiva, anuncios y mirada negativa a cabezas. Y la razón por la que quería volver a visitar esto es para recordarles que esto sí existe. Si olvidas el carácter exacto de lo que estás tratando de lograr, echa un vistazo a la hoja de tramposos. Puede ser difícil recordar a todos estos personajes porque no necesariamente son intuitivos, pero esta hoja de tramposos puede ayudarte a recordar esos y luego aplicarlos como los necesites. Muy bien, pasemos al siguiente tema. 40. Ejercicio 5 inicio: hemos llegado a nuestro quinto ejercicio javascript. Vamos a aprovechar para aplicar algunas de las cosas que hemos aprendido en esta sección a un ejemplo de script Java. Entonces déjame saltar a lo sublime, y te explicaré la tarea. Esto es lo que me gustaría que hicieras en este ejercicio. He proporcionado algunos datos. Se trata de una matriz en una consta de nombres y note que todos los nombres están listados. Apellido, primera coma, nombre. Es así como estamos listando los nombres. Entonces lo que me gustaría que hicieran es iterado a través de los datos proporcionados en esta variable de datos y usar una expresión regular. Y lo que me gustaría que hicieras es devolver una nueva matriz, crear una nueva preocupación que tenga los nombres listados, nombre y luego apellido. Entonces, básicamente, estás cambiando el orden de los nombres en esta nueva matriz y lo estás haciendo con una expresión regular. Entonces tómate unos minutos. Dale una oportunidad a eso. Trata de descifrar eso. Cuando estés listo, podrás ver la película de resultados 41. Acabado de ejercicios 5: Muy bien, echemos un vistazo a la solución. Al menos la solución que se me ocurrió sus formas múltiples en realidad se podría hacer esto. Pero aunque lo hicieras de manera diferente a la forma en que te voy a mostrar, creo que hay cosas que aprender de diferentes soluciones. Mi enfoque fue tratar de hacer esto de la manera más eficiente posible. Y así como estaba mapeando una matriz a otra, elegí usar el método de mapa de un raise para hacer esto. Entonces echémosle un vistazo cuál es mi solución. Entonces, primer lugar, quiero definir la expresión regular. Ahora me gustaría usar la expresión regular para tener grupos de captura y que pueda usar esos grupos de captura para revertir el nombre. Por lo que al poner el apellido y el nombre en un grupo de captura y luego usar el método exacto de la expresión regular, sería capaz de revertir esos. Entonces ese es mi enfoque. Entonces permítanme configurar primero esa expresión regular. Ahora quiero contabilizar el apellido, y eso consiste en caracteres de palabra. Podría haber sido incluso más blanco con esto. Pude haber hecho un juego de caracteres de letras y luego una repetición. Pero elegí hacerlo de esta manera. Por lo que los personajes de palabra. Ahí está mi repetición. Y luego hubo una coma y un espacio, así que voy a incluir eso en la expresión regular. Y luego vamos a crear un grupo para el nombre de pila. Somos personaje otra vez y se repite. Está bien, ahí está la expresión regular. Ahora quiero asignar esto a una nueva carrera. Sólo voy a llamar a los Nouri nuevos datos. Y luego, como dije, voy a usar el método de tapete de una carrera para resolver esto. Ahora Matt Method nos permite pasar en una función, y esa función actúa sobre cada valor de la matriz y luego devuelve un resultado que se colocará en la nueva matriz. Entonces básicamente, el mapa va a recorrer iterado a través de cada elemento de esta matriz, y pasará cada elemento de uno a la vez, a la función que pasamos en el mapa. Y entonces esa función actuará sobre esos datos. Entonces aquí está la función que quiero pasarle. Necesito crear un parámetro para la función. Este será el valor de la matriz que ha pasado. Ahora sigamos adelante y definamos el cuerpo de la derecha. Ahora, En primer lugar, quiero ejecutar el método exacto. Entonces lo hago así en ese valor. Entonces el método exacto en ese valor y estamos almacenando los resultados en esta variable aquí. Ahora, recuerda cuando usamos exact almacena los resultados en una matriz y luego podemos acceder a esos . Ahora voy a incluir un poco de declaración si sólo para asegurarme de que hubo un partido. Si no hay coincidencia, entonces no quiero intentar devolver algo del array o me pondré al aire. Entonces sólo voy a revisar para ver si esto no es igual a saber. Recuerda, si es exacto, no encuentra coincidencia , volverá. No. Y así si no es igual saber, entonces podemos devolver el nombre en el orden correcto y lo hacemos como devolver primer elemento a de la matriz. Entonces vamos a poder Cantón ocho que a un espacio y luego elemento Dwan de la matriz así . No, Si no es un partido, entonces sólo voy a tenerlo devuelto. Todo lo que pude tener que devolviera el valor, y entonces seguiría siendo apellido, nombre. Pero todo este hábito regresa? No, por este ejemplo. Está bien, entonces ahí está nuestro código que debería hacer que esto suceda. Entonces sigamos adelante y guardemos eso. Copia aquí la ruta del archivo para que podamos probar esto, ya sabes, abrir la consola, y luego solo accederé a esa nueva variable de datos. Y entonces tenemos una matriz de valores y notamos que su nombre, apellido ha cambiado el orden. Está bien, así que eso funcionó para nosotros. Ahora, permítanme mencionar aquí una precaución. No querrías hacer esto con una bandera global Si pones ahí una bandera global, eso podría costar, um, temas. Porque cuando se utiliza un go la bandera global con exacta o con prueba, lo que hace es guardar la posición de índice del último partido, y luego el siguiente partido comienza en esa posición de índice que arrojaría la coincidencia. Y así encontrarás si incluyes que no funciona para cada nombre, dehecho, hecho, funciona para cada otro nombre y así nos gustaría asegurarnos de que eso no fuera parte de nuestra expresión regular. Entonces si estás teniendo problemas para conseguir que esto funcione y estás haciendo un enfoque similar a lo que hice, puede haber sido que estabas usando la bandera global ahí, así que quizá quieras revisar eso. Muy bien, así que esa es la solución a este ejercicio de guión laboral. Pasemos al siguiente tema. 42. Introducción: antes de sumergirnos en el uso de Unicode con expresiones regulares, quiero proporcionar una breve introducción a Unicode. Básicamente, las computadoras se ocupan de números de caracteres. Antes de ti, llegó Nicole. Había varios sistemas diferentes para representar caracteres, y estos se referían como caracteres de codificación. Hubo muchos problemas con estos sistemas de codificación, pero todo eso cambió con Unicode. Unicode proporcionaba una forma uniforme estándar para representar caracteres. puede pensar en ello como una tabla gigante que muestra un número y qué personaje representa ese número . Por ejemplo, aquí hay una tabla Unicode. Por aquí de este lado está el inicio de ese número. Se pasa el ratón sobre el personaje. Se puede ver qué representación Unicode es. Por ese personaje. Puedo desplazarme hacia abajo a través de un montón de estos apenas numerosos, numerosos personajes. Obviamente, dedo del pie tengo algo para cada idioma que está disponible. Se requerirían muchos personajes. Ahora el estándar Unicode proporciona suficiente espacio para representar cualquier personaje que hayas visto en esa tabla. Entonces como estamos trabajando con caracteres y expresiones regulares, es posible que necesitemos o queramos representarlos con el equivalente Unicode. Entonces, ¿cómo especificamos el carácter Unical o las expresiones regulares? Bueno, Es bastante sencillo. Es con una secuencia de escape, y esa secuencia de escape es slash you. Entonces aquí hay una representación de un carácter Unicode slash usted y luego el Unicode. Número 0065 Que pasa a ser la letra e. Así que ahora sabemos representar a estos personajes. Pasemos al siguiente tema y veamos algunos ejemplos. 43. Uso de personajes de Unicode: Los caracteres Unicode Xscape se pueden utilizar como cualquier otro carácter. Y por supuesto, la mejor manera de ver esto es con ejemplos. Entonces saltemos a la derecha a rechazar PAL y echemos un vistazo a algunos ejemplos. Ahora aquí tenemos un nombre. Esto queda por encima de un ejemplo anterior que hicimos Andrea Smith. Ahora digamos que queríamos ver qué ayudantes hay ahí disponibles. Podríamos hacer eso con el carácter Unicode usando secuencia de escape 0061 Ese es el carácter Unicode para un saber ¿Cómo sé eso? Bueno, miro un gráfico como este o tu computadora puede tener una manera de buscar diferentes caracteres Unical también sea cual sea el método que quieras usar. Pero puedo ver aquí que una A mayúscula es 0041 minúscula, una 0061 Y así entraba 0061 Aviso que está agarrando la mayúscula y minúscula un sabio lo haciendo por nuestra bandera. Si fuera a quitar la bandera que ignora mayúsculas, entonces por supuesto obtendríamos la A minúscula porque ese es el carácter Unicode que actualmente coincidía es minúscula A. A pesar de que todavía tenemos una bandera global encendida, no agarra el primer día porque eso no es un partido agarra un segundo Ahora también podemos usar caracteres unico como lo haríamos cualquier otro personaje si solo para poner un personaje en una expresión regular. Entonces si quisiera hacer un juego de caracteres, podría hacerlo también con la secuencia Unicode Escape. Mucho sólo van unas letras más lejos en el alfabeto al final de ese conjunto de caracteres, y había agarrando D E E y un agarrando. Todos esos es parte de eso, por lo que eso permite ver que Unicode se puede usar en un lugar de otros caracteres. Pero así no es normalmente como usamos. No lo usamos de esa manera. Lo usamos para personajes Eso puede no ser fácil de escribir, y por lo tanto queremos usar la representación Unical de ese personaje. Entonces déjame copiar y algunos personajes que quizá no siempre sepamos escribir. Cada uno de estos podría encontrarse en una expresión regular simplemente poniendo el carácter exacto en la expresión regular así. Puedo poner el símbolo de la libra ahí y lo encontrará. O podemos usar los equivalentes Unicode. Entonces, una vez más, ese es el equivalente Unicode para el símbolo de libra. Ahora, ¿cómo? No lo sé una vez más, miro en esa mesa. Digamos que queríamos obtener el símbolo de copyright que sería un nueve, y ahí agarraría el símbolo de copyright tan generalmente utilizado para cosas que siempre podemos escribir rápidamente que a veces por qué usaremos el carácter Unicode. Pero recuerda, también puedes simplemente pasar el ritmo al personaje hacia tu expresión regular. O bien, si sabes escribirlo en tu teclado, escríbalo en expresión regular. Ahora, un ejemplo más. Digamos que tenemos algunos textos que intentaban corregir, y usa citas inteligentes. Y así estamos tratando de deshacernos de la ropa inteligente porque sabemos que eso causa problemas con cualquier programador que la procese. Entonces si tratáramos de agarrar esos simplemente entrando en un conjunto regular de cotizaciones, no las va a conseguir. Tendríamos que terminar con la cotización inteligente una vez más, podríamos pagar segundo o usar el equivalente Unicode, que en este caso, a una C. Obtendremos la de apertura y a una D obtendremos la cotización inteligente de cierre los de juego de caracteres, y ahí los podemos agarrar, y luego podríamos usar un reemplazo para poner en una cita regular. Por lo que la parte importante a saber con Unicode es simplemente cómo ingresarlos. Si te encuentras con una situación en la que necesitas ingresar el equivalente Unicode, entonces sabrás cómo. Ese es el propósito de esta pequeña sección sobre Unicode. Era una cosa más de la que necesitamos hablar, así que pasemos a la siguiente sección. 44. Comprender las características de es6 Unicode: las representaciones de caracteres Unicode que hemos estado utilizando hasta ahora soportan cuatro x A caracteres decimales . Por lo que hemos estado usando una slash tú y luego cuatro caracteres que van desde un cero a F que nos permite representar X un número decimal. Ahora, con esos números decimales Hexi, hay muchos números para representar cada personaje que normalmente querrías usar. No obstante, hay algunos caracteres extendidos que no se pueden representar usando cuatro caracteres decimales Hexi . Un ejemplo de esto es el personaje de hendidura de problemas que se utiliza en la música. Como se muestra aquí en esta diapositiva, requiere más de cuatro caracteres decimales Hexi para definirlo. Entonces, ¿qué pasa si entramos a más de cuatro? Bueno, déjame abrir rechazos, compañera. Aquí tengo un personaje hendidura problemas aquí. Ahora digamos que queremos representar eso así que hacemos una slash tú y el código para eso es uno de 11 estaban bien. Ahora la última que tenemos que entrar es una e Se puede ver lo que rechaza pal hace, también, que ya no considera que es parte del escape Unicode. Ahora se convierte en un personaje real. E. Entonces, ¿qué hacemos al respecto? Bueno, tradicionalmente, hemos representado personajes así, usando dos conjuntos como yo muestro aquí, Aquí está nuestro primer Unicode sat que un segundo set. El problema con eso, es decir, que se cuenta como dos caracteres, así que esa no es una solución completa. Bueno, partir de E s seis, tenemos una nueva bandera para expresiones regulares que cambia la forma en que procesamos los caracteres Unicode. Ahora esa bandera es la letra tú. Y cuando se utilice esa bandera , considerará un carácter extendido como un solo carácter. Y también podemos representar a esos personajes extendidos como este donde tenemos una slash tú y luego tenemos las llaves. Y dentro de ahí, entonces tenemos más de cuatro números decimales hexi hexi, y eso nos permitiría representar este problema. Carácter hendido ahora rechaza Pal no apoya esto. Te abanderas este Unicode negro Así que echaremos un vistazo a algunos ejemplos en el cónsul. Déjame abrir El cónsul para esto primero que quiero hacer es montar una variable que tenga este personaje en ella. Entonces g clef ahora tiene ese personaje en él, más ah, guión y luego la palabra clase. Entonces echemos un vistazo a lo que pasaría mientras usamos esto dentro de la expresión regular. Entonces en primer lugar voy a crear una expresión regular y quiero que esto coincida al inicio de la corriente. Y luego ah, carácter soltero. Ahí está nuestro carácter comodín que plantea representa un personaje y luego aplaudir. Ahora vamos a probar eso contra la variable que creamos. No, me voy. Teoh, quita la bandera tú para empezar y vamos a ver qué pasa. Obtenemos un falso obtenemos un falso porque una vez más, considera esta parte aquí como más de un personaje. Por lo que no coincide con esa expresión regular. Ahora, ¿y si tuviéramos que incluir la bandera Unicode? Echemos un vistazo a eso. Permítanme agregar que en los suyos son bandera Unicode. Ahora cuando presionamos retorno, obtenemos un verdadero que coincide con eso. Entonces ahora veo que es un solo personaje por ese piso. Ahora, también menciono que podemos usar una nueva forma de representar también a ese personaje si usamos la bandera de la UE. Entonces déjame entrar en eso. Entonces aquí está nuestra representación. Ahí hay cinco caracteres decimales Hexi para representar ese carácter hendido problemático. Y vamos a probar para ver si conseguimos un verdadero y obtenemos un falso y la razón por la que obtenemos un falso es porque aún no hemos incluido la bandera Unicode. Entonces una vez que agrego esa bandera Unicode en, entonces obtenemos un verdadero así como se mencionó, eso es algo que se puso disponible con, sí , seis, no el tipo de cosa que vas a usar extensivamente. Pero quería asegurarme de que lo estés al tanto. Entonces si te encontraras con un carácter extendido que necesitabas usar y expresión regular, sabrías cómo hacerlo. Muy bien, pasemos a la siguiente sección. 45. Aplica las expresiones regulares: en esta sección del curso, vamos a estar aplicando expresiones regulares. Esto te dará la oportunidad de ver expresiones regulares riel y cómo podrías usarlas para coincidan con ciertos criterios. Ahora tendremos varios ejemplos en esta sección y con cada ejemplo. Si te gustaría que vídeo compuesto después de que presenté el ejemplo que vamos a tratar de igualar y puedes probarlo por tu cuenta, y luego puedes reiniciar el video y ver cómo lo hiciste ahora. Tenga en cuenta si opta por ir a esta ruta que las expresiones regulares pueden venir en una serie de variedades, por lo que su solución puede funcionar bien. No obstante, puede que no sea exactamente como mi solución, pero la idea es el dedo del pie. Aprende lo que puedes hacer con expresiones regulares. Consulta algunos ejemplos de datos de la vida real que quieres emparejar, y en el proceso, te dará práctica con expresiones regulares. Entonces sigamos adelante y pasemos al primer ejemplo 46. Ajustar una dirección de correo de correo: en este ejemplo, vamos a buscar emparejar una dirección de correo electrónico. Ahora. Esta es una expresión regular que se podría hacer de varias maneras diferentes. Depende de lo estricto que quieras llegar con tu expresión regular. Entonces vamos primero basura a rechaza Powell. Déjame hablar primero un poco de una dirección de correo electrónico en las partes que nos ayudará a determinar qué necesidad coincide. Entonces veremos una expresión simple, regular, y luego veremos una que sea un poco más estricta. Entonces en primer lugar, si miramos las partes de una dirección de correo electrónico, hay algún impuesto, algunos personajes. Y luego está el en Símbolo. Y luego hay un periodo de dominio y luego una com net o una serie de cosas diferentes al final. Entonces para todas estas partes, realmente no sabemos qué personajes ni cuántos personajes estarán aquí al final. Hacemos eso puede ser de 3 a 4, por lo general , mientras que podría ser también , um, pero sí tenemos algunas pautas, pero no mucho. Y así probablemente no queremos limitar el número de caracteres. Probablemente solo queramos intentar igualar en base a comodines basados en una serie de caracteres que quizá no podamos identificar. Entonces, primero veamos un ejemplo sencillo. Entonces si tiramos aquí un comodín, obviamente coincide con cada personaje que está ahí, y luego si indicamos que comodín se puede ganar o más, entonces obtenemos un solo partido. Ahora vamos a dar cuenta del símbolo at. El símbolo at viene en un lugar, y no puede venir a otros lugares. Entonces si ponemos aquí un símbolo at, entonces obtenemos la primera parte de la dirección de correo electrónico que coincide con el símbolo todavía. Entonces siguiendo el símbolo at, hagamos otro comodín, y eso podría ser uno o muchos, y así que eso es igualar todo el camino a través del punto. Ahora sabemos también que seguramente habrá un punto o un punto. Y así vamos a especificar que eso sería parte de la dirección de correo electrónico. Tenemos que escapar de eso porque si no queremos representar el comodín, así que escapamos de él y luego una vez más siguiendo eso, podemos tener uno o muchos personajes, y así ahí obtenemos una coincidencia en nuestra dirección de correo electrónico. No, esa es una simple expresión regular, e identifica las partes de cualquier dirección de correo electrónico. Pero vamos a ampliar en esto. Hay ciertos personajes que no puedes tener en las diferentes partes. Por ejemplo, en ese símbolo no puede estar en esta parte ni en el dominio. Ahí no puede existir. Eso también es ilegal, espacios. No puedo ser una dirección de correo electrónico. Y así vamos a acercarnos a la expresión regular eliminando algunas cosas que alguien podría ser capaz de poner en las que no queremos un partido para. Por ejemplo, si hubiera un espacio aquí que coincidiera con él, pero esa no es una dirección de correo electrónico correcta, así que veamos si podemos abordar esa limitación. Entonces vamos a empezar esto especificando este inicio y el final de la cadena. Entonces poniendo ahí tanto los caracteres inicial como final ahora quiero crear un conjunto de caracteres para cada parte y separar cada parte por un símbolo at y un punto. Entonces vamos a crear nuestro primer personaje sec, y dije que vamos a eliminar aquellos que no pueden ser parte de eso. Por lo que queremos negar este conjunto de caracteres para que coincida con cualquier carácter excepto los que están en este conjunto de caracteres. Uno de esos debe ser un espacio. No queremos una coincidencia con esta base, y no queremos una coincidencia con el símbolo at. No, podría haber otros personajes que quizá quieras lanzar más adelante, pero esto va a lograr lo que necesitamos. Por lo que no queremos igualar el espacio ni en Symbol. Ahora queremos que esto se repita, Así que ni un solo carácter queríamos que coincida con uno o más y luego en eso en este punto dirección de correo electrónico debería tener un símbolo at previo al dominio. Muy bien, entonces queremos otro SATs de personaje. Y en este personaje SATs, queremos igualar todo excepto un espacio otra vez, un carácter tipo espacio. Debería decir que esto podría ser New Line es, si bien no es solo espacio, no queremos una coincidencia con ese símbolo. Y en esta parte aquí, no queremos que sea también un periodo, porque el periodo iniciará el final de eso. Y así pongamos que en este personaje conjunto un oleaje y eso puede repetir una o más veces, y luego siguiendo esa porción, tenemos un punto Ahora tenemos que escapar del punto aquí. No nos escapamos aquí porque dentro de un conjunto de caracteres, pero fuera de eso, personajes que sí necesitamos escapar de él. Y entonces tenemos un juego de caracteres más, y queremos igualar todo excepto el carácter espacial y en ese símbolo, y entonces eso se podría repetir también. Y ahí obtenemos un partido a nuestra dirección de correo electrónico. Pero si hay un espacio, no conseguimos un partido. Si hay un símbolo en donde no debería estar, no obtenemos un partido. Entonces ahora esto funciona bastante bien para nosotros ahora. Podríamos ponernos mucho más restrictivos. Puede haber otros personajes que no se incluirían. Puede haber ciertos carriles, por lo que queremos poner cosas como la parte del dominio de la dirección de correo electrónico. Pero esto funciona bastante bien para nosotros ahora, un par de cosas para estar al tanto de los recordatorios sobre las expresiones regulares. Por lo que el símbolo de la zanahoria se utiliza para dos cosas diferentes. Símbolos de zanahoria utilizados para marcar el comienzo de la cuerda, el comienzo de la línea. También se utiliza para negar dentro del conjunto de caracteres, así que ten en cuenta que el personaje del espacio, recuerda, no sólo indica un espacio, sino que son espacios de esposa, por lo que podría ser una pestaña. Podría ser un salto de línea. Podría ser un espacio. Por lo que da cuenta de esos. Hablé de ello a lo largo de los ejercicios, un personaje espacial, Pero quiero asegurarme de que se den cuenta de que representa las otras cosas que discutimos antes en la corte. Y entonces también noté que puedo poner un punto aquí y estábamos tratando de evitar eso al tener este periodo negado en este conjunto de caracteres. Por lo que debe coincidir con todo menos un punto. Entonces, ¿por qué eso lo hace coincidir? Bueno, lo que está pasando aquí, me di cuenta, cometió un ligero error. Entonces lo que está pasando aquí es que este periodo está coincidiendo aquí y entonces todo lo demás está coincidiendo con este conjunto de caracteres, y por eso necesitamos negar un periodo también en esta parte. Entonces déjame poner uno ahí y allá. No conseguimos un partido ahora si elimino eso, vuelve a un partido, para que eso nos funcione mejor. Así que asegúrate de añadir ese periodo en este personaje dicho también, así que ojalá aprendas algo de esto, ojalá te permitiera revisar expresiones regulares. Ahora pasemos al siguiente ejemplo 47. Combinar un asa de Twitter: este ejemplo va a ser un poco más fácil que el último. Cuando hicimos esto es coincidir con un nombre de Twitter un poco más simple que una dirección de correo electrónico. No hay tanta variación que pueda suceder con un nombre de Twitter. Si te gusta probar esto por ti mismo, pausa el video y luego vuelve a iniciarlo cuando estés listo para comprobarlo. Ahora así es como vamos a hacer esto. Bastante simple. Tengo mi manija de Twitter sentado aquí para emparejar. Esto no es tan difícil. queremos especificar el inicio y el final de la cadena, así que pongamos ambos en. Entonces estamos asumiendo que se ingresó el nombre de Twitter y lo estamos haciendo coincidir para asegurarnos de que sea correcto . Ahora empieza con el personaje al, así que sigamos adelante y coloquemos eso dentro. Y entonces tenemos caracteres de palabra que se comprometen que pueden venir después de eso. Ahora, recuerda lo que representan los caracteres de palabra. Representan las letras de la A a la Z y los números del cero al nueve, y también representan el subrayado. Por lo que podría ser tan sencillo como lo que tenemos aquí. Tenemos que añadir un carácter de repetición causa queremos que al menos uno de esos exista, y puede ser el mayor número posible. Y así conseguimos un partido ahí. Bastante simple. Ahora que si quisiéramos extraer el nombre de Twitter y almacenarlo y queremos distorsionar de la misma manera,a misma manera, menos que digamos, eso es posible, que alguien pueda ingresar el símbolo at y algunos no. Y así queremos almacenar la parte del manejador de Twitter sin el M por ciento. Y luego cuando lo utilicemos o visualicemos o lo que sea, agregaremos el n por ciento para que pudiéramos hacer eso convirtiendo esto en un grupo de captura si parte del mismo que representa la porción de palabras de ese manejador de Twitter, y que capturaría eso. Y luego con get JavaScript, podríamos simplemente almacenar esa porción del partido ahora. También, queremos dar cuenta de situaciones en las que pueden no ingresar al M por ciento. Y así vamos a entrar un signo de interrogación después de eso que indique que esto podría ser cero o uno . Entonces si alguien entra a Amper Sands, no coincide. Si alguien emperador entra sin ampersand, sí coincide, y el emparejamiento también incluye un grupo de captura que podemos usar ese grupo de captura con JavaScript para extraer lo que queremos y almacenar. Y si se ingresa un ampersand, el grupo de captura no agarra el ampersand porque eso no es parte del grupo de captura . Entonces eso es coincidir con un nombre de Twitter y un poco de discusión en torno a eso. Muy bien, pasemos al siguiente ejemplo. 48. Prueba de claves: la siguiente aplicación que vamos a ver es probar contraseñas ahora. En esta aplicación, voy a hablar de las expresiones regulares que utilizaríamos. Pero también voy a ver una solución de script Java de cómo probar contraseñas. Ahora piensa en lo que harías con las contraseñas que quieres probar para ver si coincide con ciertos criterios, ciertos criterios,por ejemplo, si es de cierta longitud si contiene caracteres mayúsculas, minúsculas, números, caracteres especiales, cualquiera que sea tu criterio de contraseña, eso es lo que debes verificar ahora. En ocasiones, hecho la mayoría de las veces es más fácil hacer esto con expresiones regulares separadas, por lo que crea múltiples expresiones regulares, y luego prueba la contraseña contra cada una de ellas, asegúrate de que sea válida, y cuando cumpla con todos esos criterios, entonces adelante y dices que la contraseña es correcta. Entonces sabiendo que si quieres probar esto por tu cuenta primero adelante y posicionar video. Entonces una vez que estés listo, reinicia y puedes ver la solución y se me ocurrió bien. Entonces primero, hablemos de las expresiones regulares que podrían usarse para probar una contraseña Así que déjame saltar a los rechazos, Pal. Tengo aquí una contraseña que se generó usando un generador de contraseñas. Acabo de poner los criterios en y creó la contraseña. Ya que tenemos aquí y se puede ver que tenemos letras mayúsculas, tenemos números. Tenemos letras minúsculas, y también tenemos caracteres especiales. Ahora digamos que queríamos que las contraseñas fueran de un.Ciertamente necesitaban tener al menos ocho caracteres, pero no más de 32 caracteres. Entonces, por supuesto, la forma en que podríamos hacerlo fácilmente es poner nuestro personaje que especifica la ubicación inicial, luego nuestro carácter comodín. Y luego especificamos la longitud, y podemos ver que ahí conseguimos un partido. Entonces el hecho de que coincida con esta expresión regular nos dice que está bien, nuestra contraseña ha coincidido con los criterios de longitud. Entonces digamos que queremos asegurarnos de que tenga carácter mayúscula. Eso es sencillo. Simplemente hacemos un conjunto de personajes, y si conseguimos un partido, entonces sabemos que cumple con esos criterios. Podemos hacer lo mismo con minúsculas, y podemos hacer lo mismo con números como ese. Por lo que todos esos partidos ocurren ahora. ¿ Y si queremos hacer personajes especiales? Bueno, hay dos enfoques para eso. Podrás enumerar todos los caracteres especiales que permitas de esa manera. Sabes que solo coincide con los personajes que requieres. O simplemente podrías hacer algo como esto, un juego de caracteres donde negamos al inicio en la puerta. Cualquier cosa que no sea un número, una letra mayúscula o una letra minúscula, y se puede ver que ahí conseguimos algunos fósforos. Esa es una forma de hacerlo. Muy bien, así que esas son las expresiones regulares que usaríamos para probar una contraseña. Ahora echemos un vistazo a una aplicación JavaScript de esto, así que voy a saltar a sublime por eso. Ahora esto es lo que tenemos. He configurado una variable de contraseña que contiene esa misma contraseña que estamos trabajando dentro rechazos, pal. Después he configurado varias variables para definir las diferentes expresiones regulares. Aquí está el de la longitud mayúscula. Números en minúsculas en la nariz, uno para personajes especiales. Seguí adelante y creé expresión regular que tiene un conjunto de caracteres. Aquí está el exterior del conjunto de caracteres, y enumera todos los caracteres especiales que podrían estar ahí. Por lo que todos estos personajes especiales del aire aquí mismo hacemos algún escape para conseguir personajes especiales que requieren escapar. Está bien, aquí lo hacemos también. El guión requiere escapar. Esa slash requiere escapar y luego el cuadrado el corchete cuadrado de cierre requiere escapar. Por lo que esas secuencias de escape con el fin de especificar esos caracteres el ráster solo el carácter real que estamos tratando de igualar. Entonces tengo todos esos configurados y luego simplemente hago una declaración if if y usé test, uso el método test de expresiones regulares en JavaScript y pruebo la contraseña. Y eso está todo incluido en una declaración if, si obtenemos un verdadero de esa prueba un verdadero de esta tarea un verdadero de esta prueba y así sucesivamente. Si todos esos iguales verdaderos, entonces coincide, lo contrario no coincide. Entonces echemos un vistazo a los resultados de eso realmente rápido. Entonces déjame saltar para refrescar eso y luego si miramos el concierto, podemos ver que esa contraseña en particular coincide Ahora esta solución de script Java podría convertirse fácilmente en una función que entonces podríamos llamar en cualquier momento que quisiéramos probar la contraseña. Entonces veamos cómo hacemos eso. Vamos a llamarlo, uh, chequear pasado, y vamos a que tengan una contraseña pase en ella que luego podamos verificar. Por lo que tengo configurada mi función. Déjame simplemente copiar todo este código aquí y ponerlo dentro de la función en Humedad que ¿Ahora qué ? Quiero cambiar con mi declaración if, ya que simplemente quiero que devuelva verdadero o falso, si coincide con un retornos verdadero. De lo contrario devuelve fallas. Y de esa manera puedo usar esta función siempre que quiera revisar una contraseña y ver si coincide con nuestros criterios para ciertas contraseñas. Entonces sigamos adelante y revisemos este. Simplemente cerraremos al cónsul el resultado de llamar cheque pase. Pasará en la contraseña esta variable aquí que se almacenará en esta variable y entonces eso será lo que se comprueba en nuestra función. Entonces vamos a ver si conseguimos un verdadero retorno para esa actualización y ahí vamos. Tenemos una verdadera así que es una función que podría utilizarse en cualquier situación para revisar contraseñas. Obviamente, si tienes diferentes criterios en tu pasaje, cambiarías tus expresiones regulares. Pero aparte de eso, podría ser reciclado. Muy bien, pasemos al siguiente tema. 49. Usar la expresión habitual: en esta aplicación vamos a echar un vistazo a usar string dot Reemplazar con expresiones regulares Ahora, antes de echar un vistazo al problema. Cuando lo resolví, solo revisemos reemplazar realmente rápido. Entonces voy a abrir el cónsul aquí, y voy a ingresar una declaración que usa un reemplazo. Entonces digamos que tengo algo de código HTML y quiero cambiar la etiqueta B que produce Bold. Yo quiero cambiarlo a una etiqueta fuerte. Entonces veamos cómo podríamos hacer eso. Yo sólo voy a usar consulado fuera, log toe, log los resultados. Ya podemos ver qué pasa ahora. En primer lugar tenemos una cuerda. Esto es que el código 80 Mel va a estar contenido en una corriente, simplemente va a verse así. Algo no demasiado complejo pero puede ilustrar el uso del reemplazo. Ahora reemplazar es un método en el rapero objeto de cadena. Y así cualquier cadena que tengamos podemos usar replace para modificar eso para reemplazar una porción de esa cadena con otra cosa, y confinamos la coincidencia con texto regular o podemos usar una expresión regular. Entonces veamos que usaríamos la expresión regular. Entonces para empezar a usar, reemplaza usamos la sintaxis de punto Ahora, como puedes ver, lo estoy haciendo directamente. Cadena de oficina. Podría ser una variable que contenga una cadena. Pero aquí está la cuerda real en sí. Entonces dentro de Prince ve la primera parte es la parte. Yo quiero un partido. Y así aquí está el porqué. Voy a usar la expresión de radio ahora quiero reemplazar todas las ocurrencias, así que voy a usar la bandera global. Entonces usamos una coma. Entonces este es el partido. Ahora indicamos con qué queremos reemplazar el que coincide, y eso será una cadena. Y así básicamente lo que vamos a hacer es que vamos a encontrar cada ocurrencia de ser mayor que símbolo y reemplazarlo por toros fuertes, mayores que símbolos que esos terminan, Reemplaza más. Príncipe ve el concierto final fuera log No, Ponga nuestro punto y coma. Vamos a ver lo que tenemos. Entonces como puedes ver, pasó por y reemplazó todas las etiquetas B por una etiqueta fuerte Tan rápido refresco de cómo funciona reemplazar. No. Recuerda, eso también podría ser una variable. Entonces si contenía una cadena, podríamos usar dot Replace en eso. Muy bien, entonces así es como usamos el reemplazo. Ahora, veamos el problema que vamos a tratar de resolver con eso. Por lo que saltó un sublime. Lo que quiere dio es tomar esta matriz de nombres y notar que los nombres son apellido que nombre. Queremos tomar esa matriz de nombres. Queremos cambiarlo. Queremos cambiar el orden. Por lo que el nombre viene antes que el apellido. Ahora, en mi solución, voy a usar el método de mapa de un raise si no estás familiarizado con el mapa y te gustaría probar eso tú mismo. Todos incluyen un enlace al video de YouTube que he creado sobre el método del mapa. El motivo por el que quiero usar map es porque el mapa regresa a la matriz. Eso es básicamente lo que hace. Y así siempre que no tengamos array y queremos crear una nueva matriz a partir de ella, el mapa es una elección lógica. Entonces si quieres probar esto primero, adelante y posit, pruébalo y luego reinicia cuando estés listo. Muy bien, veamos cómo lograríamos esto. Cómo cambiaríamos los nombres usando expresión regular y usando mapa. Entonces ahora, como dije en el mapa de introducción regresa a array y queremos saber raza. Entonces sigamos adelante y definamos ese nuevo ram. Simplemente lo voy a llamar nuevos nombres, y vamos a poner eso igual a nombre mapa de acciones. Ahora el mapa es una función de orden superior, por lo que debido a que es una función de orden superior, pasamos en una función como parámetro, y esa función procesará cada elemento en la matriz y luego devolverá los resultados y cada uno de los esos resultados que se devuelve bien. Seremos colocados en la nueva matriz, así que sigamos adelante no puede funcionar. Y luego entre paréntesis, voy a indicar nombre como la variable esa variable va a contener cada una de estas cadenas a medida que recorre la matriz una por una. Y así, ya que son cadenas que podemos usar, reemplácese en eso. Entonces sigamos adelante y veamos cómo haríamos eso. No, con el mapa, la función necesita devolver un valor porque ese valor se va a colocar en la nueva matriz. Entonces vamos a devolver nombre punto Reemplazar Ahora aquí es donde ingresamos a la expresión regular . Ahora lo que vamos a hacer es crear una expresión regular que capte. Vamos a usar, um, capturar grupos, porque queremos repetirlos. Por lo que queremos capturar el apellido y el nombre, y luego queremos que los vuelva a utilizar. Pero queremos ponerlos en el orden opuesto y luego poner entre ellos un espacio quitará la coma y pondrá un espacio entre ellos. Entonces veamos cómo haríamos eso. Vamos a configurar primero una expresión regular, así que queremos capturar grupos. El primer grupo de captura será cuatro El apellido. Entonces, solo introduzcamos caracteres de palabra y podemos tener uno o más de esos. Entonces queremos asegurarnos de que el espacio de coma, eso es lo que separa los nombres. Y luego crearemos otro grupo de captura y esto usarás lo mismo? ¿ Un personaje de palabra? No y uno o más esos caracteres de palabra. Entonces hay una expresión regular, y mientras el nombre tenga caracteres de palabra que un comentario de espacio seguido de caracteres de palabra , producirá una coincidencia. Y luego, porque hemos utilizado paréntesis, captará esas partes de la misma y eso nos permitirá usarlo en la segunda parte del reemplazo. Entonces ponemos una coma y luego dentro de comillas, queremos indicar el segundo grupo de captura. Hacemos eso con un signo de dólar para entonces queremos separar eso con un espacio. Y luego queremos indicar el primer grupo de captura. Ya veré cómo lo hemos hecho. Por lo que el segundo grupo de captura será el nombre de pila. Entonces pondremos primero un espacio. Capturar grupo será el apellido. Pon eso al final, así es como funciona eso. Entonces sigamos adelante y guardemos esto y luego déjame copiar la ruta del archivo aquí para que podamos probar esto . Está bien, abre el cónsul. Echemos un vistazo a eso. Nueva variable de nombres. Ahí lo tenemos. Tenemos ahora una matriz de nombre apellido, y hay un espacio entre ellos. Ya no hay coma ya que las hemos puesto en el orden del apellido de pila. Entonces si pudiste resolverlo en tu propio fantástico si no, espero que aprendas algunas cosas nuevas sobre reemplazar y cómo puedes usarlas con expresiones regulares y cómo puedes usar capturando grupos con ese método de reemplazo, puede llegar a ser muy útil en la solución de ciertos problemas. Muy bien, pasemos al siguiente tema. 50. Compara una palabra junto a otra palabra: en esta aplicación, vamos a echar un vistazo a cómo encontraríamos una coincidencia de alguna palabra, algún conjunto de personajes. Pero hacer que ese partido dependa de si otra palabra está cerca o al lado de ahora. Piensa en la aplicación de eso. Piensa en cómo podrías usar este tipo de expresión regular en una serie de situaciones diferentes . Tenemos un ejemplo específico aquí encontrando una palabra, y queremos asegurarnos de que otra palabra esté cerca. Ese es nuestro ejemplo específico, pero esto podría aplicarse de otras maneras. Ahora vamos a resolver esto en rechazos, amigo. Pero antes de echar un vistazo a la solución, puedes seguir adelante y darle una prueba. Entonces si quieres detener el video de vez en cuando empezamos cuando estés listo para continuar. Muy bien, echemos un vistazo a esta solución. Entonces déjame saltar a los rechazos, Pal primero. Muy bien, digamos que queríamos igualar la palabra palabras, ésta de aquí, pero sólo queríamos hacer eso si juntos también aparecían junto a ella. Ahora empiezo con el caso más simple primero, y luego lo haremos un poco más difícil. Entonces la forma en que nos ocuparíamos de eso es primero poner límites de palabras en una expresión regular quieren incluir límites de palabras. Ahora voy a poner paréntesis y crear un grupo aquí, y no quiero que sea capturando grupo, Así que voy a asegurarme de que ahora es un grupo no capturando. Obviamente, esta porción no es necesaria para que la resuelvas, pero esto la hace más limpia, y por eso lo estoy haciendo. Entonces pongamos el primero vertido en palabras. Ahora bien, si sólo tomamos este ejemplo aquí, podríamos entonces tener eso separado por un carácter que no sea de palabra, y podemos hacer uno o más. Y entonces podemos armar la palabra y conseguimos un partido de ambos de esos ahora funciona muy bien. Entonces eso es bastante sencillo. Expresión regular. Si sólo estamos tratando de encontrar una palabra con otra palabra siguiéndola ahora, ¿y si hay palabras en el medio? Si existe la posibilidad de que aparezcan palabras adicionales aquí, pongamos unas palabras ahí. Entonces tenemos dos palabras en el medio. Veamos cómo modificaríamos esta expresión regular para asegurarnos de que pueda coincidir con esas. Entonces voy a hacer otro grupo aquí, y como no quiero capturar, déjame sólo entrar eso. Ahora sigamos adelante y veamos la porción de expresión regular, la porción coincidente. Por lo que queremos un carácter de palabra y uno o más de los seguidos de un carácter no de palabra, y podría ser uno o más de esos, y así eso designará una palabra individual. Ahora podemos entonces especificar cuántos de esos iban a permitir, por lo que podría ser cero 25 Tal vez eso es lo que determinamos. Y ahí conseguimos un partido. Tenemos dos palabras entre palabras y juntos, y obtenemos una coincidencia porque hemos podido designar que podría haber otras palabras además de eso. Ahora vamos a ampliar aún más en esto. ¿ Y si la palabra de que queremos ser parte del impuesto para que haya un partido pudiera venir antes o después? Adelante y juntemos por aquí, y vamos a sacarlo de aquí. Ahí. Ahora, ya no tenemos partido, pero las dos palabras están en los mismos contactos simplemente puede no estar en el mismo orden. Entonces, ¿cómo podemos modificar esto para asegurarnos de que eso también consiga un partido? El modo de hacerlo sería usar. Y o así podemos encontrar este orden o allá vamos. O O podemos revertir el orden. Déjame simplemente copiar esto aquí. Pay se sentó y voy a cambiar el orden de estos dos juntos y palabras. Y ahí conseguimos un partido. Entonces ahora podríamos conseguir un partido si viene antes, como ese o después, como éste, obtenemos un partido en ambas situaciones. Entonces la mayor parte real de ella son límites de palabras. Entonces tenemos nuestro partido aquí, las dos palabras lo que estamos buscando y luego lo que pueda interponerse y cuántas veces las palabras podrían repetirlo en el medio. Y entonces simplemente repetimos eso del otro lado de o pero invertimos el orden de las palabras, y eso nos permite emparejar algo cuando otro algo está con él. Y esa es la mejor manera de pensar en este tipo de expresión regular, cómo podrías aplicarla, emparejar algo cuando algo más está con él. Ahí es donde aplicarías este tipo de expresión regular. Muy bien, pasemos a la siguiente 51. Flas de Validación: en este ejercicio de aplicación. Vamos a echar un vistazo a validar fechas. No hay fechas. Ca NBI ingresó en una serie de formatos diferentes. Y así lo primero que debes decidir es ¿qué voy a considerar válido? ¿ A qué no voy a considerar boleta? Entonces para este ejercicio, echemos un vistazo a lo que queremos probar contra. Y usaremos rechazos, amiguita , para esto. Y así he ingresado una fecha de muestra aquí. Todos trabajan con esto. Modifica esto para ver si la solución coincidirá con diferentes tipos de fechas. Pero esto es lo que queremos hacer. Queremos hacerlo en formato fecha, día, día, mes y año. Y queremos ser lo suficientemente flexibles como para que pueda ser un solo dígito día único mes, doble dígito en el año y cualquier cosa intermedia. Entonces cualquier combinación entre estos dos éste y éste, queremos asegurarnos de que eso es que esos fueron considerados boleta. Por lo que esta solución va a usar Amores. Entonces si quieres probar esto por tu cuenta abre rechazos, compañera. Adelante y pruébalo, y luego cuando estés listo para continuar reinicia la película. Muy bien, veamos qué tenemos que hacer para asegurarnos de que podamos cumplir con estos formatos de fecha en cualquier combinación entre medias, voy a eliminar este texto aquí. Para empezar, solo usaremos este ejemplo de fecha para nuestra muestra. Y una cosa que quiero hacer primero es poner un ancla inicial y final para la cuerda. Entonces ahí está mi ancla inicial, y luego el signo del dólar sería el ancla final. Y así sea que sea lo que Texas haya entrado, no queremos nada fuera de eso. Por lo que queremos empezar un punto de anclaje final a eso, y luego tendremos las dos varillas. Está bien, entonces vamos a trabajar primero en el día ahora, ya que voy a usar o es parte de esto porque podemos tener un día que aparezca de tres maneras diferentes. Yo quiero poner esto dentro de príncipes para ayudar a organizarlo, y entonces podemos tener una fecha que comience con un número tres y luego ya sea un cero o uno . Eso es posible. Entonces esa es una situación de un día de fecha. Lo voy a poner por ahí, y ahora veamos lo de al lado. Podría ser uno o dos. Entonces estoy haciendo un juego de caracteres de uno o dos, y entonces el segundo número podría ser del cero al nueve. Y también lo hacen el juego de caracteres de esos y luego uno más, o y entonces esta tercera posible situación sería un solo dígito. Ahora recuerden, el dígito único podría tener un cero frente a él podría estar basado en cero, o pueden optar por no poner el cero delante de nosotros. ¿ Cómo contabilizamos eso? Bueno, vamos a poner primero el cero, y luego vamos a utilizar un modificador de repetición y básicamente estaban indicando que ese cero puede ocurrir cero o una vez. Está bien, así que eso daría cuenta de si lo ingresaron o no. Y entonces, por supuesto, el segundo o el primer número, cualquiera que sea el caso, es del uno al nueve. No tenemos un cero ahí que esta vez, porque eso no es posible. Está bien, así que ese es nuestro día. Ahora echemos un vistazo al mes ahora, con los meses o bien iban a empezar con uno y luego algún otro número o tendremos un solo dígito y haremos lo mismo con eso. Un solo dígito fue como hicimos con el día. Entonces cuidemos el uno. Y entonces eso podría ser seguido por un cero A uno o dos. Entonces lo haremos, Ah, arreglaremos dentro de ese conjunto de personajes y haremos un o ahora, una vez más, podemos tener el cero. Eso vamos a modificar. Eso podría ser cero o una vez, y entonces tendremos del uno al nueve como segundo o posiblemente el primer número. Ahora, algo más que quiero hacer aquí para agruparlo mejor. Voy a poner esto en impresión. Ve también. Está bien. Ahora, para la última parte, este será el año ahora. El año que indicamos puede tener apenas dos dígitos o cuatro dígitos. Entonces veamos cómo podemos dar cuenta de eso. Entonces vamos a cuidar. Ah, los dos dígitos al inicio. En primer lugar, voy a poner esto entre paréntesis porque quiero usar un personaje de repetición después de él. Y así quise aplicar a todo dentro de ese grupo. Y luego pondremos un conjunto de personajes de cero a nueve. Déjame mostrarte por qué estoy usando cero, y es por la repetición que cae. Te indicamos que puede tener dos dígitos, y así el cero podría ser el segundo dígito. Entonces ese es el 1er 2 dígitos en los años lo que esto es ahora. Este grupo. Queremos que esto exista cero o una vez. Por lo que un grupo de dos dígitos. Eso es lo que especificamos aquí sabe cómo lo hemos hecho. Este tipo de aplicación ordenada de expresión regular. Hemos indicado los números que podrían formar parte de ese número de dos dígitos con Vindicado que son dos de ellos. Y luego ponemos este modificador fuera del grupo para indicar que ese grupo puede existir cero o una vez. Muy bien ahora, vamos a hacer los dos últimos dígitos del año y eso simplemente podemos hacer con otro personaje establecido de cero a nueve y repetición de a gustar eso. Nana dijo que inmediatamente igualó una vez que entré esa última parte en, Así que esa es nuestra expresión regular que nos permitirá emparejar una fecha en diferentes formatos. A ver, cuando cambio eso a un cuatro, sigue siendo partido. ¿ Y si hago un 34? Bueno, ahora no coincide con 14 partidos aquí. Tengo un cero frente al mes. Si elimino eso, cero todavía coincide. Si pongo uno que ya no es un mes válido y así no coincide, entonces en el año puedo tener aquí un dígito de dos dígitos. Igual que eso. Debo por lo menos tener dos o cuatro. Como puedes ver cuando pongo tres, no coincide, pero coincide con los dos dígitos. Entonces esa es nuestra expresión regular para validar una fecha que consiste en un formato de día, mes año con varillas entre, y le damos flexibilidad que la persona que ingresa a la fecha puede tener dos dígitos por un dígito en el mes y el día y dos o cuatro dígitos en el año. Muy bien, pasemos al siguiente. 52. Captura de texto Capturing: en esta aplicación, vamos a ver cómo capturar texto coincidente. Ahora a lo largo del curso, hemos hecho algunos grupos de captura, y esa es una forma de capturar texto de coincidencia. Pero para este ejercicio, realmente me interesa el método de coincidencia de cadenas y cómo podemos usar eso para capturar texto de coincidencia que nos permita hacer algunas cosas interesantes. Entonces echemos un vistazo a cuál es la asignación para esta aplicación. Entonces lo que queremos hacer es extraer todos los números de esta frase aquí. Entonces tenemos una cadena queremos extraer todos los números de esta captura esos números y algunos esos números, algunos en un solo número. Por lo que 32 más 100 más 15. Entonces eso es lo que nos gustaría hacer, y queremos hacerlo con el método de puré de cuerdas. Así que tómate unos momentos si quieres y mira si puedes resolver eso, Entonces cuando estés listo para continuar, sigue adelante y reinicia esta película. Muy bien, echemos un vistazo a cómo lograría esto. Como ya he dicho en el pasado, probablemente haya múltiples formas de lograr esto, extraer los números y luego a algunos los juntos. Pero echemos un vistazo a mi solución. Entonces lo primero que voy a hacer es crear otra variable que estamos declarando aquí en la parte superior, y este es el total. Este va a ser el algunos de esos números, y voy a ponerlo en cero inicialmente. Muy bien ahora, con eso hecho, vamos a seguir adelante y configurar nuestra expresión regular, y voy a asignar los resultados de esa expresión regular a una variable de resultado. Por lo que vamos a utilizar el método de coincidencia de cadenas. Entonces está el método del partido, y con la metanfetaminas del partido, pasamos en una expresión regular y eso va a actuar sobre esa cadena. Entonces sigamos adelante y montemos esta expresión regular. No, ya que quiero extraer números, eso es lo que quiero conseguir. Eso es bastante sencillo. Esa es una expresión regular bastante simple. Voy a hacer esto y luego voy a poner plus está bien porque quiero uno o más número cuando capte esto ahora. Además, quiero todas las ocurrencias, así que voy a usar la bandera global al final. Entonces esa es la expresión regular que nos ayudará a conseguir esos números ahora, como recordarán, o como pudieron haber revisado con el método match, lo que eso va a hacer es colocar los resultados en una matriz, por lo que lo hará poner las cosas en los resultados. Variable aquí como una matriz. Entonces veamos cómo trabajaríamos entonces con eso. Entonces voy a hacer una expresión F, y sólo voy a revisar para ver si hay algo en los resultados. Si lo hay, entonces haremos algo con eso ahora. Esta siguiente parte, no necesaria, realmente no necesita hacerse para cumplir con los requisitos. Su aplicación. Pero digamos que quería extraer esos números de la matriz y usarlos por separado. Bueno, podría hacerlo simplemente asignando dos nuevas variables algo como esto. Por lo que la posición cero sería el primer número que se emparejó, y simplemente seguiríamos en ese mismo tipo de patrón, extrayendo esos números y colocándolos en una variable. Ahora note que uso latte para definir estas variables. Por lo que estas variables aquí estarían disponibles Onley. Su alcance es el corsé rizado, así que eso está ahí para encontrar alcance. Entonces técnicamente, lo que digo es que voy a usar estos números dentro de esta declaración if Muy bien, déjame terminar eso. Entonces esa sería una forma de sacar esos números y colocarlos en una variable en particular . Pero lo que estamos tratando de hacer es llegar a algunos de esos números, y hay muchas maneras diferentes de hacerlo. Voy a usar la función de reducción de un aumento. Es así como voy a conseguir los algunos los resultados. Entonces veamos cómo hago eso. Voy a colocar los resultados finales en conjunto total que igual a resultado punto reducir reduce un método en raise, y básicamente, lo que te permite hacer es tomar todos los elementos en una matriz y hacer algo con ella, combinando en un solo valor. Y así es como hacemos eso. Primero tenemos que pasar en una función. Esto es, ah, funciones de orden superior. Pasamos en una función que luego se usa para actuar sobre cada elemento de la matriz, y voy a usar una función estrecha. Normalmente hago eso cuando estoy trabajando con mapa filter reduce, así que sigamos adelante y definamos los parámetros que funcionan. Algunos esa variable va a contener los continuos algunos a medida que se mueve a través de cada uno de los elementos de la matriz. Se va a sumar esos a algunos, y eso mantendrá ese total a medida que se mueve a través de cada uno de esos y luego v a. L. son las variables que van a contener el valor de la matriz que Ron así es el iterado. A través de esa matriz, asignará cada valor a este voto variable. Entonces esos son parámetros. Entonces tenemos la flecha para indicar que es una función estrecha. Y entonces esto es lo que queremos volver. Queremos devolver la suma más cada valor. No, ya que estamos extrayendo esto de una cadena, nuestros valores van a ser cuerdas por sí mismos. Por lo que quiero convertir esos a un número. Eso lo voy a hacer con parse int. Por lo que me convierto jurada a base Tim. Eso es básicamente lo que estoy haciendo ahí. Y entonces lo segundo que necesitamos pasar a reducir es el valor inicial para la suma R. Por supuesto, queremos que eso empiece en cero, así que pasaré en un cero por eso. Está bien, así que eso debería conseguir nuestro total. Entonces déjame seguir adelante y guardar eso, que voy a agarrar el camino el archivo html para que podamos echarle un vistazo. Sube eso y veamos qué conseguimos aquí en el Cónsul. Voy a echar un vistazo al resultado Variable. En primer lugar, veamos qué muestra eso. No. Como se puede ver, tenemos una matriz tres valores 30 a 115 y notamos que sus cadenas k por lo que extrae ALS como cadenas. Y entonces echemos un vistazo a Total si eso consiguió lo que queríamos 100 47. Entonces si sumamos esos juntos, sí obtenemos 147. Entonces ese es el peaje de los de ahora. Algo más que hicimos en el código fue que asignamos esos valores individuales. Dos variables mismas ahora desde arriba no pudieron acceder a esas variables porque su alcance está dentro de eso. Si declaración así no podemos realmente echar un vistazo para ver si eso funciona. Pero si venimos y cambiamos esto, dejemos que dos de nuestros entonces pudiéramos hacer eso, porque entonces los definiré en la parte superior del alcance unos muy frescos, realmente rápidos, y luego podemos simplemente comprobar y asegurarnos de que fue extrayendo las cosas adecuadamente. Y luego tenemos un 32 y notamos que es una cuerda. Entonces lo hizo así pudimos convertir esos a un número también al firmar eso. Pero en realidad, la mayor parte de lo que estamos tratando de lograr es para algunos esos números. Ojalá, encontraras éxito con eso. Muy bien, pasemos al siguiente tema. 53. Descubrimiento de la información sobre un matrimonio: a veces con expresión regular. Quieres conocer alguna información sobre el partido, no solo si maneja, sino también información sobre ese partido. Entonces eso es lo que vamos a hacer en esta aplicación. Ahora vamos a empezar por donde lo dejamos con la última aplicación. Entonces déjame saltar a lo sublime, y echaremos un vistazo a eso. Ahora se puede ver que el código es el mismo el, pero la asignación es diferente. Queremos recuperar el índice inicial para el partido, la longitud del partido y el partido real. Por lo que sólo un par de pistas aquí. Vas a querer usar un método diferente al que hemos usado en este ejemplo. Pero tú ca ginebra de la NBA con esto, y con ese método diferente, no estarás usando la bandera global. Básicamente, volvamos a buscar dígitos, igual que hemos hecho aquí. Pero sólo encontremos a los 32. Entonces busca el primer conjunto de dígitos, y eso es todo con lo que nos vamos a preocupar. Pero quieres encontrar el índice inicial de eso, la longitud de eso y el partido real en sí. Entonces, ¿qué método usarás? Adelante y pausar esto Tómate un momento para que descubra la mejor manera de hacerlo y luego reinicia cuando estés listo para continuar. Muy bien, Entonces el truco para resolver este problema en particular es usar el método exacto de expresiones regulares . Entonces no vamos a estar usando un método de una cadena sino de la expresión regular misma. Entonces lo primero que voy a hacer es solo configurar las variables para el índice inicial, la longitud y el desorden real. Sólo voy a llamar a estos partido de inicio, poner longitud de smash y último, solo llamaremos a partido. Y esa es la información que vamos a recuperar. Y eso es todo. Ahora quiero volver a colocar los resultados en la variable de resultado. Pero como este es un método de expresiones regulares, tenemos que hacerlo de una manera muy diferente. Entonces voy a quitar todo aquí, y sólo vamos a hacer un método de esta expresión regular. El método que queremos utilizar es exacto. Exactamente es el método que proporciona más información sobre el partido, y luego pasamos la cadena a eso. Ahora, una vez que tengamos un partido, eliminemos esto aquí abajo, entonces podemos seguir adelante y asignar la información a las variables. Entonces match start, realidad seremos índice de punto de resultado. Entonces recuerda, con exacto tenemos una propiedad de índice que nos da la posición de índice del partido, la posición inicial de ese partido. Y entonces eso es lo que vamos a asignar a match dot o a match start entonces para la longitud del partido, este un poco truco aquí. En la primera posición en esta matriz se almacena la coincidencia real. Entonces si solo obtenemos la longitud de eso, entonces podemos conseguir el cuánto tiempo los partidos. Y luego finalmente, ya que la primera posición del partido real de las historias de carrera, podríamos simplemente asignar eso para igualar. Es así, así que no demasiado difícil una vez que tienes el método correcto y recordando que es un método de la expresión regular, no un método de cadenas. Entonces digamos que esto solo echará un vistazo a esas tres variables que van a agarrar la ruta del archivo , saltemos y veamos consola y déjame solo echar un vistazo al inicio del partido. Eso es 14 así que 14 caracteres en a esa cadena es donde comienza 0123456789 10 11 12 13. El 14 es donde comienza el 32. Está bien. Y entonces, por supuesto, longitud del partido es a 32 es de dos dígitos, y luego la coincidencia real en sí. Y ahí recuperamos el número 32. Por lo que a veces es posible que necesites reunir información sobre el partido para otros fines para hacer algo con él. Podríamos usar esta información para hacer un cambio a esa cadena. Um, y eso tal vez lo que se requiere. Pero cuando estás buscando reunir información sobre un partido que usarías exactamente. Está bien, sigamos adelante. 54. Itar sobre los partidos: en esta aplicación, vamos a echar un vistazo a cómo podemos calificar sobre los partidos iban a usar el mismo problema que hemos utilizado en el último par de aplicaciones. Entonces déjame echarle un vistazo a eso. Tenemos esta frase con tres números en ella. Vas a crear una expresión regular que coincida con los números. Entonces esa parte que ya hemos hecho estamos buscando cómo aplicar esto en script Java. Ahora, el truco aquí es averiguar cómo vas a iterar sobre todos esos partidos. Ahora, hay una forma obvia de la que hablamos antes de usar el método match porque crea una matriz de coincidencias. Y luego podemos iterar sobre esa matriz usando una serie de técnicas diferentes. Entonces esa es la forma obvia. Voy a introducir en la solución en forma adicional a iterar sobre aquellos que usan la última propiedad de índice de una expresión regular. Si quieres tratar de averiguarlo antes de presentar la solución, adelante. De cualquier manera, pausa el video y reinicia cuando estés listo para ver la solución. Está bien. Ahora, como mencioné en forma obvia de reiterar sobre coincidencias es usar el método de coincidencia de una cadena que crea una matriz de coincidencias. Y luego puedes iterar sobre ese rayo usando un bucle de cuatro en Ah, cuatro bucle que podrías usar para cada uno es el método. Eso es parte de una carrera. Por lo que hay una serie de formas diferentes en las que podrías hacer eso. Voy a mostrar una solución con último índice. Ahora, Last index es una propiedad de una expresión regular que está disponible ya sea con exacta o prueba. Entonces esos dos métodos que puedes usar en una expresión regular, crea una propiedad. Último índice y último índice representa la posición después del último partido. Entonces la posición de índice después del último partido, eso es lo que representa. Voy a usar esa propiedad como parte del bucle que estoy creando para que no nos atasquemos en un bucle infinito si nuestra expresión regular produce una coincidencia de longitud cero. Entonces permítanme primero armar la expresión regular. Ya lo hemos hecho antes, Así que nada nuevo ahí buscando los números en esta cadena, y estoy usando la bandera global. También voy a armar partido. Voy a firmarlo un valor de no indicado está vacío. Ahora vamos a configurar nuestro bucle. Entonces mientras match y vamos a establecer eso igual a la expresión regular usando el método exacto en frase así. Entonces mientras tenemos algo, llámelo resulta en algo un partido. Entonces sigamos adelante y hagamos algo con eso. Y entonces lo que voy a hacer es simplemente iniciar sesión con el cónsul. El número de partido simple. ¿ Eso es así? Un bucle muy sencillo. Entonces déjenme decir que Vamos a echar un vistazo a lo que esto produce, pero ese archivo en el navegador y vamos a abrir el cónsul. Por lo que aquí están las tres declaraciones de registros. Ahí hay un 32 hay un 100 y hay un 15. Entonces como estamos usando el método exacto, obtenemos mucha información sobre eso coincide. Pero en todos los casos, sí obtenemos el valor por lo que podríamos usar este while loop para actuar en cada uno de esos partidos, dependiendo de lo que queríamos dio. Por lo que funciona muy hábil para iterar sobre esos valores y hacer algo con eso esos valores. Ahora, en la introducción de esto mencioné el último índice. No, aún no lo he usado. Por qué mencionaría el último índice y lo estoy usando. Bueno, déjame mostrarte algo aquí. Si cambiáramos esto por un asterisco que indica mientras confinamos cero o muchos dígitos, bueno, bueno, cero nos daría una coincidencia que es de longitud cero. Se puede encontrar un partido que sea de longitud cero, y como tal, nos quedaríamos atrapados en un bucle infinito aquí. No sería capaz de saltar de eso. Y así, si no estás seguro de si tu expresión regular podría obtener una coincidencia de longitud cero, entonces también añadiría una declaración if adicional aquí en el bucle salvaje. Se vería algo así. Comprobamos el índice del partido y vemos si es igual a voy a usar el operador de Igualdad no estricto. La expresión regular. Es propiedad de último índice luce capital, I. Así que si esas cosas son iguales, ahí es donde estaríamos atrapados en un bucle infinito. Y así entonces quiero simplemente incrementar la última propiedad de índice. De esa manera seguirá moviéndose por el bucle porque básicamente lo que está sucediendo con último índice el bucle while funciona es porque el método exacto crea el último índice. Ahí es donde comienza el siguiente partido es donde está ese último índice. Y así es como podemos conseguir todos los diferentes partidos porque comienza la próxima vez justo después de este primer partido que la próxima vez después de ese segundo partido y así sucesivamente. Entonces si esos son iguales, entonces estamos en un bucle infinito y luego queremos incrementar la última propiedad de índice. Ya sabes, sólo para mostrarte lo que está pasando. Déjame a mí. También los látigos también muestran la última propiedad del índice. Muy bien, así que vamos a guardar eso y veremos que esto no obtiene un bucle infinito, pero observa cómo pasa por toda la cadena una posición a la vez. tanto que si usamos el plus, entonces justicia tres posiciones, aquí está el último índice, por lo que se inicia el partido. 14. El número 32 así 14 15 el último índice es 16. Ahí comienza el siguiente partido, y así entonces encuentra el siguiente número 100 que inicia en 41 lo sentimos. Eso inicia a los 38 luego los últimos índices 41 así sucesivamente. Entonces así es como está funcionando esa. No hay. Coincidencia de longitud cero en ese caso, y así no tenemos que preocuparnos por estar atrapados en Loop infinito. Pero esta es una buena declaración si incluir solo para evitar que eso suceda. Por lo que una linda pequeña manera de Iterar sobre partidos. Está bien, sigamos adelante. 55. Conclusión: felicitaciones. Ya lo has conseguido hasta el final de este curso. Esperemos que seas capaz de aprender mucho sobre expresiones regulares y cómo usarlas con JavaScript antes de cerrar sesión. Yo solo quiero dejar un par de cosas contigo primero. La sintaxis para expresiones regulares es bastante difícil. No es lo más fácil de recordar, por lo que es importante que tengas un lugar donde puedas referirte para recordarte algunos de esos elementos de sintaxis. A mí me gusta usar rechazos, Pal. Me gusta usar la hoja de tramposos que está disponible con Reg Expel. Está muy simplificado, y fácilmente puedo mirar las cosas y recordarme, Oh, sí, eso es lo que es. Ah, una de las cosas que muy a menudo confundo o la cuantificación del IRS, Y así tengo que mirarlas muy rápido y, oh sí, ese es el cero o más, y ese es el uno. O más. A veces los mezcle, así que probablemente haya cosas que mezclarás un oleaje o que olvidarás. Seamos realistas. Las expresiones regulares no son el tipo de cosa que usas en cada bit de tu código, y así cuando no lo estás usando mucho. Es fácil olvidar esas cosas, así que ahora necesitas este tipo de referencia. El otro comentario que quiero hacer sobre las expresiones regulares es, como has visto con algunas de estas aplicaciones que hemos estado tratando en el último apartado. En ocasiones la solución del dedo un problema que utiliza expresiones regulares tiene que ver con el método que usas en JavaScript. Y así que sepan tau y entiendan bien esos métodos. Revisa algunas de esas aplicaciones si necesitas revisar la primera parte donde hablamos de los métodos para que también entiendas eso. Entonces no es tanto. Si bien ¿cuál es la expresión regular que necesito usar para resolver esto? Es más. Sé que esta expresión regular puede coincidir con el datum después de que estoy al tanto de eso. Pero, ¿cómo resuelvo el problema asociado con la coincidencia de esos datos? A veces eso puede ser el más complicado aparte ahora. Es cierto hay expresiones regulares que pueden ser bastante complejas, y una de las mejores cosas de pasar por este curso es que verás algunas de estas expresiones regulares. Cuando haces algunas búsquedas en Google para un problema en particular, posible que encuentres algo Bueno, ahora puedes leer a través de él y entender lo que está haciendo, y eso te puede ayudar a aprender más sobre las expresiones regulares también. Por lo que esas son las dos sugerencias que haría al finalizar este curso. Ahora que entiendes cómo funcionan las expresiones regulares, entiendes la sintaxis involucrada con ellas, y entiendes los métodos que airean disponibles con JavaScript. Por usar esas expresiones regulares, puede comenzar a aplicarlas y encontrar más éxito en su recubrimiento de script de trabajo. Entonces la mejor de las suertes y gracias por pasar este curso conmigo.