Hablemos ahora de expresiones regulares, las expresiones regulares no son exclusivas de Python, de hecho, las ve en
todos nuestros lenguajes de programación.
Pero te voy a enseñar las expresiones regulares rápidamente, porque son muy
útiles, especialmente cuando estás haciendo, digamos, validación, como verificar que alguien haya ingresado el correo electrónico
correcto o que tengas requisitos de contraseña o quieras verificar si existe un fragmento de cuerda en un fragmento de texto.
Entonces esto es algo que vamos a explorar en este video.
Expresiones regulares.
¿Qué son?
Bueno, afortunadamente para nosotros, Python viene con un módulo de expresión regular.
Recuerde, las expresiones regulares no son específicas de Python.
Puede usarlos prácticamente en cualquier idioma, pero son muy útiles para encontrar cosas en un fragmento de
texto.
Entonces, digamos que tenemos una cadena aquí y podemos decir búsqueda de cadena dentro de esto.
Siguiente por favor.
Aquí vamos.
Ahora, digamos que quería buscar algo aquí, en primer lugar, ¿podría hacer algo como esto?
¿Podría decir buscar?
Y cuerda.
Imprimamos aquí.
Y si hago clic en ejecutar.
Entiendo la verdad, y esta es una forma sencilla de buscar algo dentro de una cadena.
Entonces, ¿por qué necesitamos expresiones regulares?
Bueno, las expresiones regulares son un poco más poderosas que esto, porque tal vez queramos
buscar cuántas veces se realiza la búsqueda en la cadena, o tal vez tengamos una cadena complicada.
Permítanme mostrarles lo que quiero decir, la forma en que usamos algo como expresiones regulares es usando este
formato para que pueda decir cada punto y luego usar la búsqueda.
Y como puede ver aquí, le damos un patrón y una cuerda y algunas banderas.
Hablaremos de eso un poco más tarde.
Entonces, todo lo que tenemos que decir es ¿qué patrón quieres hacer?
Bueno, quiero buscar si esto existe en la fuerza para poder decir esto.
Y luego dale la fuerza real.
En nuestro caso, bueno, ese es nuestro punto fuerte.
Entonces, si ejecuto esto.
Bueno, imprimamos lo que sucede aquí, así que imprimamos.
Si hago clic, corre.
Muy bien, obtengo lo que llamo un objeto de coincidencia, una expresión regular nos da una salida, no solo verdadera o falsa, sino
un objeto real que nos dice un poco más de información sobre esto.
Y puede ver aquí que una de la información es el intervalo, por lo que donde ocurre en la cadena,
ocurre en el índice de 17 y termina en el índice de 21.
Eso es realmente útil.
Guardemos esta información y digamos aquí.
Entonces, ¿qué podemos hacer con este objeto de coincidencia?
Bueno, lo primero que podemos hacer es comprobar lo que tenemos.
Entonces tenemos, en primer lugar, spane, que hemos visto, y si ejecuto esto.
Me dice dónde ocurre la cadena como una tupla, por lo que el índice de 17 al índice de veintiuno,
también puedo comenzar y comenzar.
Bueno, me dice cuándo comienza el texto y también puedo hacer un grupo o en realidad también puedo hacerlo al final para mostrarme dónde
termina.
Y luego también puedo hacer grupo.
Y el grupo devuelve la parte de la cadena donde estaba la coincidencia y digamos que había otro esto aquí, si
hago clic en ejecutar, ¿ves eso?
Bueno, solo me da esa parte o parte de la fuerza que tenía el partido.
Ningún grupo es realmente útil cuando intentamos realizar varias búsquedas.
Entonces, en nuestro caso, solo estamos haciendo una búsqueda.
Tenemos un patrón que estamos tratando de igualar, pero hay una forma en la que podemos hacer varias búsquedas dentro de
una línea.
Pero antes les muestro que ¿qué pasa si hacemos algo que no existe, como esto con
una falsa mayúscula como run?
Recibo un error porque ahora A no será ninguno, porque si la expresión regular no encuentra nada, no
devolverá, por lo que devolverá una coincidencia, objeto o no.
Ahora bien, ¿cómo podemos hacer esto más avanzado?
Bueno, una cosa que podemos hacer es crear un patrón que queremos verificar.
Así que digamos patrón aquí.
Y este patrón, usaremos una expresión regular, punto com pop.
Y el campell nos va a permitir dar, como lo hicimos aquí, un patrón.
Entonces, digamos aquí que simplemente quiero verificar esto ahora, este patrón que puedo usar en lugar de hacer todas
las búsquedas, puedo usar el patrón ahora.
Para hacer la búsqueda por mí.
Entonces, de nuevo, si ejecuto esto.
Bueno, ahora no tengo que pasar esto, solo necesito pasarlo, esta bebida que queremos buscar.
Vea que esto se está capturando y puedo usar el patrón ahora en todas partes varias veces, así que digamos que
puedo hacer un punto de patrón con todos los métodos que tenemos.
De hecho, tenemos bastante.
Déjame mostrarte algunos de los útiles.
Hemos encontrado todo lo que encuentra todo el.
Instancias del partido, digamos que aquí está.
Y haga clic en ejecutar.
Mira eso, tengo esto.
Y esto.
Entonces obtengo ambas instancias de esto dentro de una lista.
También puedo hacer algo como partido completo y partido completo, bueno, asegurándome de que todo coincida completamente.
Entonces, si hago clic en ejecutar aquí, primero hagamos clic en ejecutar.
No obtengo ninguno porque no obtengo un partido completo para que un partido completo devuelva el partido.
Tiene que ser la cadena exacta que estamos buscando.
Entonces, si hago clic, corro.
Ahí tienes, ahora obtengo un objeto de coincidencia.
Ahora, digamos que tengo un signo de interrogación aquí en lugar de un signo de exclamación, si hago clic en ejecutar.
No es ninguno si tengo un signo de exclamación y luego tal vez algo más después, todavía no obtengo ninguno.
También tenemos otra opción, que es igualar.
Y coincide, como puede ver, coincide con cero o más caracteres al principio de la cadena.
Entonces, si hago una cadena aquí e imprimo D bien, en realidad, déjeme cambiar esto, hagamos aquí a Andre y la cadena que realmente estamos
comparando y si hago clic en ejecutar.
Todavía obtengo un objeto de coincidencia frente a si veo cuál usa una coincidencia completa.
Lo que me da Ainun, porque, bueno, solo queremos una coincidencia exacta aquí versus una coincidencia que coincida con la cadena y luego no
nos importa lo que venga después.
Entonces esto es extremadamente útil.
Pero hasta ahora, quiero decir, tenemos un par de métodos que podemos usar, que son bastante
útiles, pero esto no parece tan poderoso.
¿Por qué todos los idiomas tienen expresiones regulares?
¿Por qué realmente nos importa?
Bueno, en el siguiente video, exploraremos esta idea de patrón y cómo podemos hacer algunos
patrones realmente avanzados.
Lo veré en el próximo video de.