Parliamo ora delle espressioni regolari, le espressioni regolari non sono esclusive di Python, infatti le vedi tutti
i nostri linguaggi di programmazione.
Ma ti insegnerò velocemente le espressioni regolari, perché sono molto utili,
specialmente quando stai facendo, diciamo, convalida, come controllare che qualcuno abbia inserito l'e-mail giusta o che
tu abbia i requisiti per la password o vuoi controllare se esiste un pezzo di stringa in un pezzo di testo.
Quindi questo è qualcosa che esploreremo in questo video.
Espressioni regolari.
Quali sono?
Bene, fortunatamente per noi, Python viene fornito con un modulo di espressione regolare.
Ricorda, le espressioni regolari non sono specifiche di Python.
Puoi usarli praticamente in qualsiasi lingua, ma sono molto utili per trovare cose in un pezzo di
testo.
Quindi diciamo che abbiamo una stringa qui e possiamo dire la ricerca di stringhe all'interno di questo.
Il prossimo per favore.
Ci siamo.
Ora, diciamo che volevo cercare qualcosa qui, prima di tutto, potrei fare qualcosa del genere?
Potrei dire ricerca?
E stringa.
Stampiamo qui.
E se clicco su Esegui.
Divento vero, e questo è un modo semplice per cercare qualcosa all'interno di una stringa.
Allora perché abbiamo bisogno delle espressioni regolari?
Bene, le espressioni regolari sono un po' più potenti di queste, perché forse vogliamo
cercare quante volte la ricerca si verifica nella stringa, o forse abbiamo una stringa complicata.
Lascia che ti mostri cosa intendo, il modo in cui usiamo qualcosa come le espressioni regolari è usare questo formato
in modo che io possa dire ogni punto e poi qui usare la ricerca.
E come puoi vedere qui, gli diamo uno schema, una stringa e alcune bandiere.
Ne parleremo un po' più tardi.
Quindi tutto ciò che dobbiamo dire è quale schema vuoi fare?
Bene, voglio cercare se questo esiste nella forza così posso dirlo.
E poi dargli la forza effettiva.
Nel nostro caso, beh, questa è la nostra forza.
Quindi se eseguo questo.
Bene, stampiamo cosa succede qui, quindi stampiamo.
Se clicco, corro.
Va bene, ottengo quello che chiamo un oggetto match, un'espressione regolare ci dà un output, non solo vero o falso, ma
un oggetto reale che ci dice qualche informazione in più su questo.
E puoi vedere qui una delle informazioni è lo span, quindi dove si verifica nella stringa,
si verifica all'indice di 17 e termina all'indice di 21.
Quindi è davvero utile.
Archiviamo queste informazioni e diciamo qui.
Quindi cosa possiamo fare con questo oggetto match?
Bene, la prima cosa che possiamo fare è controllare quello che abbiamo.
Quindi abbiamo, prima di tutto, Spane, che abbiamo visto, e se eseguo questo.
Mi dice dove si trova la stringa come tupla, quindi da indice 17 a indice ventuno, posso
anche iniziare e iniziare.
Bene, mi dice quando inizia il testo e posso anche fare gruppo o effettivamente posso anche fare fine per mostrarmi dove
finisce.
E poi posso anche fare gruppo.
E il gruppo restituisce la parte della stringa in cui c'era la corrispondenza e diciamo che ce n'era un altro qui,
se clicco su esegui, lo vedi?
Bene, mi dà solo quel pezzo o parte della forza che c'era nella partita.
Nessun gruppo è veramente utile quando stiamo cercando di fare più ricerche.
Quindi nel nostro caso, stiamo solo facendo una ricerca.
Quindi abbiamo uno schema che stiamo cercando di abbinare, ma c'è un modo per fare ricerche multiple all'interno di
una riga.
Ma prima di mostrarvi che cosa succede se facciamo qualcosa che non esiste, come questo con
la finta maiuscola come correre?
Ottengo un errore perché ora A non sarà nessuno, perché se l'espressione regolare non trova nulla, non
restituirà nulla, quindi restituirà una corrispondenza, un oggetto o meno.
Ora, come possiamo renderlo più avanzato?
Bene, una cosa che possiamo fare è creare uno schema che vogliamo verificare.
Quindi diciamo modello qui.
E questo schema, useremo l'espressione regolare, punto com pop.
E il campell ci permetterà di dare, proprio come abbiamo fatto qui, uno schema.
Quindi diciamo qui che voglio semplicemente controllare questo ora, questo modello che posso usare invece di fare semplicemente ogni
ricerca, posso semplicemente usare il modello ora.
Per fare la ricerca per me.
Quindi, di nuovo, se eseguo questo.
Bene, ora non devo passarlo questo, devo solo passarlo, questo drink che vogliamo cercare.
Guarda che questo viene catturato e ora posso usare pattern ovunque più volte, quindi diciamo che
posso fare pattern dot tutti i metodi che abbiamo.
Abbiamo parecchio, in realtà.
Lascia che te ne mostri alcuni utili.
Abbiamo trovare tutto che trova tutto il.
Istanze della partita, quindi diciamo qui essere.
E fai clic su Esegui.
Guarda quello, ho questo.
E questo.
Quindi ottengo entrambe le istanze di questo all'interno di un elenco.
Posso anche fare qualcosa come una partita completa e una partita completa, beh, assicurandomi che tutto corrisponda completamente.
Quindi, se faccio clic su Esegui qui, princi qui fai clic su Esegui.
Non ne ottengo nessuno perché non ottengo una corrispondenza completa affinché una corrispondenza completa restituisca la corrispondenza.
Deve essere la stringa esatta che stiamo cercando.
Quindi, se clicco, corro.
Ecco qua, ora ricevo un oggetto corrispondente.
Ora, diciamo che ho un punto interrogativo qui invece di un punto esclamativo, se faccio clic su Esegui.
Non è nessuno se ho un punto esclamativo e poi forse qualcos'altro in seguito, non ne ottengo ancora nessuno.
Abbiamo anche un'altra opzione, che è la corrispondenza.
E match, come puoi vedere, trova zero o più caratteri all'inizio della stringa.
Quindi se faccio una stringa qui e stampo D bene, in realtà, lasciami cambiare questo, facciamo qui Andre e la stringa che stiamo effettivamente confrontando
e se faccio clic su Esegui.
Ottengo ancora un oggetto di corrispondenza rispetto a se vedo che utilizza una corrispondenza completa.
Il che mi dà Ainun, perché, beh, vogliamo solo una corrispondenza esatta qui contro una corrispondenza che corrisponda alla stringa e quindi
non ci interessa cosa viene dopo.
Quindi questo è estremamente utile.
Ma fino ad ora, voglio dire, abbiamo un paio di metodi che possiamo usare, che sono abbastanza
utili, ma questo non sembra così potente.
Perché tutte le lingue hanno espressioni regolari?
Perché ci interessa davvero?
Bene, nel prossimo video, esploreremo questa idea di schema e come possiamo realizzare alcuni
schemi davvero avanzati.
Vedrò nel prossimo video di.