Welkom terug.
Tot nu toe hebben we alleen eenvoudige patronen gevonden, eenvoudige tekstpatronen in onze string.
Niets is te gek, maar we zijn reguliere expressies die echt handig worden voor geavanceerde patronen.
Zie je, met reguliere expressies kun je gekke patronen maken, zoals laten we zeggen dit en dit ziet
eruit als compleet gebrabbel.
Rechts.
Maar dit betekent iets in reguliere expressie.
Je kunt reguliere expressie zien als een hele taal op zich met verschillende patronen
die je gebruikt om patronen in tekst te vinden.
Nu, de hele wereld van reguliere expressie is echt heel ingewikkeld als programmeur, ik verwacht niet dat
je al deze patronen leert.
Je kunt er hier een aantal zien.
We hebben speciale reeksen die zoiets betekenen als SGD die een overeenkomst retourneert waarbij de tekenreeks cijfers bevat, een getal van
nul tot negen.
Je hebt hier dingen als sets waar je een reguliere expressie typt.
Hiermee wordt een overeenkomst geretourneerd voor alle tekens alfabetisch tussen A en Z, of het nu kleine letters of
hoofdletters zijn.
Er zijn dus al deze kleine snelkoppelingen en trucs die ze in een reguliere expressie kunnen schrijven.
En dingen kunnen heel, heel ingewikkeld worden, dus niemand onthoudt deze dingen echt, je ontwikkelt ze
als dat nodig is.
En trouwens, later in de video's, zullen we een oefening doen waarbij we hiermee daadwerkelijk gaan experimenteren en
een wachtwoordchecker en een e-mail maken.
Een van de tools die ik echt heel leuk vind, heet regex one on one dot com.
Het is super, super handig.
Het enige dat u hoeft te doen, is Python kiezen en het geeft u reguliere expressies en een proeftuin die u kunt
testen.
Als ik bijvoorbeeld iets schreef als, hey, hoe gaat het met je?
Ik kan hier nu reguliere expressies invoeren en dingen uitproberen, dus als ik bijvoorbeeld Hey, hoe
gaat het?
Hmm, dit werkt niet echt.
Misschien kan ik hier wat citaten toevoegen.
Maar nee, en het geeft je eigenlijk een aantal opties en informatie over wat je kunt gebruiken.
Laten we bijvoorbeeld zeggen dat we wilden controleren of hier een teken staat en A tot Z of A tot Z rangschikken
als ik dit kopieer.
En ik plakte in.
Kijk, dat.
Het geeft me vier overeenkomsten die ik in dit geval heb, ik controleer om te zien, hey, komt het overeen
met een teken tussen A tot Z, zowel kleine letters als hoofdletters?
Alles klopt nu, je ziet hier dat we match één match hebben met match drie,
enzovoort, enzovoort, ik kan ook dingen groeperen zodat ik hier haakjes kan maken.
En nu is dit de eerste gevangen groep en dan kan ik hier iets anders doen, laten
we zeggen hier, ik wil alles zeggen dat een is.
Dus wat betekent het hier?
Wel, ik heb een uitleg aan de rechterkant, de eerste gevangengroep zegt, hey, match een enkel personage dat
aanwezig is in de onderstaande lijst.
Dus het vertelt je A tot Z kapitaal, A tot Z.
En dan is de tweede capture-groep, hey, match, een enkel teken dat aanwezig is in de onderstaande lijst,
wat een is.
Nu en hier moet ik groepen vastleggen, dus de eerste gevangen groep en dan de tweede gevangen groep, als
ik hier een punt had, wat een speciale betekenis en reguliere expressie is, als ik de muisaanwijzer erop
hou zie je dat het overeenkomt met elk teken behalve voor lijnterminators.
Dus wat doe ik hier?
Nou, ik heb eerst hey, ik wil dat je controleert op de eerste capture-groep, dat is een enkel teken in
het bereik van A tot Z.
En daarna wil ik elk personage.
En daarna wil ik dat je goed zoekt naar overeenkomsten van a, dus dit is waar we voor matchen.
We komen overeen met W omdat we op zoek zijn naar een letter en dan een spatie of een willekeurig teken en dan een a.
Dus nu hebben we een volledige wedstrijd, wat WTA is, en dan hebben we Groep één.
Dat is W omdat het overeenkomt met de eerste groep en vervolgens groep twee, wat overeenkomt met de.
Ik weet dat dit verwarrend is, reguliere expressies zijn een van die dingen die in het begin heel
moeilijk te achterhalen zijn.
Dus laat me je laten zien hoe we het kunnen gebruiken.
Als ik hier naar de codegenerator ga, zul je zien dat ik je eigenlijk gewoon een voorbeeldcode kan geven die je in
Python kunt gebruiken.
Maar wat ik graag doe, is dit stukje tekst kopiëren.
Soortgelijk.
En teruggaan naar onze cowriter en in het compileren.
Plak het nu, je zult merken dat hier een R staat en R staat voor een onbewerkte tekenreeks, want in Python
heeft zoiets als een schuine streep backslash een speciale betekenis, want onthoud dat we met backslashes speciale
dingen kunnen doen, zoals nieuwe regel of tab.
Een R zegt, hé, dit is een onbewerkte snaar.
Negeer alles dat python-interpreter.
Mijn tolk.
Ik wil dat dit gewoon een pure string is.
Je ziet dit dus samen met reguliere expressies.
Als ik nu deze code uitvoer.
Je ziet dat ik hier weer SCCA heb, het is omdat ik op zoek ben naar een.
Letter gevolgd door alles gevolgd door een.
En als ik hier een groep heb die ik doorzoek, als ik groep één doe.
Ik krijg een gok als ik een groep doe.
Ik krijg een net zoals we deden in onze speeltuin hier.
Een ander handig ding is hier, als je naar de snelle referentie kijkt, kun je echt naar dingen zoeken.
Dus laten we zeggen dat ik wilde controleren of een teststring misschien begint met, zodat ik hier begin kan typen.
En je kunt hier zien dat het me een snelle referentie geeft.
Dus als ik het begin van een tekenreeks doe, laat het me zien, hey, gebruik dit teken en ik zal je helpen het begin van een tekenreeks te maken.
Dus als ik dat doe, laten we hier deze wortel zeggen en zeggen, hé, kijk daar eens naar, het past bij mij.
Dus zegt, hé, bevestig de positie van de startlijn.
Het legt hier precies uit hoe het werkt.
En het zegt me dat ik hier een volledige match heb.
Nu is de manier waarop je reguliere expressies meestal gaat gebruiken niet zo, het zou eigenlijk
best moeilijk zijn als je alles zelf uitzoekt.
Zoals ik al zei, niemand onthoudt deze dingen echt.
U kunt zien dat we snelle referenties hebben met gemeenschappelijke tokens die u kunt bekijken en begrijpen.
Maar een meer praktische manier om over reguliere expressies te leren, is door ze in het echte leven te gebruiken.
Nu ga ik enkele oefeningen voor je achterlaten die je kunt doen als je meer wilt
weten over enkele veelvoorkomende patronen uit mijn ervaringen.
Dit is niet iets waar iemand je naar gaat vragen in een interview.
Je hoeft reguliere expressies niet echt te onthouden.
Je moet gewoon weten wat ze doen.
Dus probeer de oefeningen als je wilt.
Anders zie ik je in de volgende video om je precies te laten zien hoe je reguliere expressies in een
echt scenario zou gebruiken.
Ik zal het daarin zien.