Direct naar de hoofdinhoud
Module 1 · Les 1 van 41/32 in de cursus~8 min
Modulelessen (1/4)

Letterlijke patronen

In een regex komen "normale" alfanumerieke tekens eenvoudigweg overeen: write ciao als patroon en de engine zoekt naar de subtekenreeks ciao binnenin de tekst. Niets magischer: een van links naar rechts scannen positie voor positie.

Code
Pattern: ciao
Sample:  Buongiorno, ciao mondo! Ti dico anche ciao.
                     ^^^^                        ^^^^

Een wedstrijd bevat altijd twee belangrijke stukjes informatie:

  • de overeenkomende tekst (hier ciao);
  • de index (op 0 gebaseerde offset) waar deze begint in het voorbeeld (hier 12 en 38).

Standaard zijn regex hoofdlettergevoelig: ciao komt niet overeen met Ciao of BESCHERMD_INLINE_7. Om hoofdletters en kleine letters te negeren, voegt u de vlag i toe (niet hoofdlettergevoelig).

Hoe de motor werkt

De regex-engine inspecteert de tekst teken voor teken. Bij het zoeken naar het letterlijke patroon ciao wordt eerst gezocht naar de letter c. Eenmaal gevonden, wordt gecontroleerd of het volgende teken i is, vervolgens a en ten slotte o. Als een van deze wedstrijden mislukt, keert de motor terug naar de volgende startpositie en gaat opnieuw op zoek naar c.

Letterlijke patronen en de vlag g

Zonder de g (algemene) vlag stopt de engine bij de eerste gevonden match en stopt dan. Met g het gaat door en verzamelt elke volgende match tot het einde van de reeks. In deze cursus zullen we dat doen schakel bijna altijd g in: we willen elke overeenkomst in de tekst zien.

Probeer het

Oefening#regex.m1.l1.e1
Pogingen: 0Laden…

Zoek elk exact (hoofdlettergevoelig) voorkomen van het woord 'ciao' in het voorbeeld. Tip: onthoud de `g`-vlag.

Editor laden…
Toon hint

Het patroon is het woord zelf. Hoofdletters mogen niet overeenkomen: nee i-vlag.

Oplossing beschikbaar na 3 pogingen

Oefening beoordelen

Oefening#regex.m1.l1.e2
Pogingen: 0Laden…

Zoek elke keer dat het woord 'fout' voorkomt in de tekst, waarbij u hoofdletters en kleine letters negeert.

Editor laden…
Toon hint

Hetzelfde woord als het patroon, maar voeg de i-vlag toe (niet hoofdlettergevoelig) naast g.

Oplossing beschikbaar na 3 pogingen

Extra uitdaging

Oefening#regex.m1.l1.e3
Pogingen: 0Laden…

Identificeer en verzamel alle exacte exemplaren van het woord 'WAARSCHUWING' (hoofdletters, hoofdlettergevoelig) in de voorbeeldlogtekst.

Editor laden…
Toon hint

Zoek direct naar de letterlijke tekenreeks WAARSCHUWING en zorg ervoor dat u de i-vlag niet activeert.

Oplossing beschikbaar na 3 pogingen