Direct naar de hoofdinhoud
Module 1 · Les 2 van 42/32 in de cursus~10 min
Modulelessen (2/4)

Basisklassen: \d \w \s

Naast letterlijke tekens geeft regex u vooraf gedefinieerde klassen: snelkoppelingen voor "elk cijfer", "elk woordteken", "elke witruimte". Zij zijn de eersten stap richting echt bruikbare patronen.

KlasseKomt overeen
\dEen cijfer (0-9)
\wEen woordteken (A-Za-z0-9_)
\sA witruimte (spatie, tab, nieuwe regel, etc.)
\DNIET een cijfer
\WNIET een woordteken
\SNIET een spatie

Elk komt overeen met één enkel karakter. Om 'een of meer tekens' te matchen je hebt kwantoren nodig (+, in module 2), maar we zullen meteen + gebruiken omdat "vind mij alle cijfers" te nuttig is om op te wachten.

Code
Pattern: \d+
Sample:  Ho 3 mele, 12 pere e 100 prugne.
            ^      ^^      ^^^

\d+ betekent een of meer opeenvolgende cijfers: het komt overeen met 3, 12 en 100 als drie afzonderlijke wedstrijden (met de vlag g).

\w: woordtekens

\w is gelijk aan [A-Za-z0-9_] (ASCII-letters, cijfers, onderstrepingsteken). Het bevat GEEN accenten, Griekse letters of emoji: daarvoor heb je Unicode nodig eigenschap-escapes (\p{L}, module 5).

Duik diep in basisklassen en ontkenningen

Vooraf gedefinieerde klassen \\d, \\w, \\s versnellen het coderen. Versies in hoofdletters (\\D, \\W, \\S) maken de set ongeldig. Met \\S+ legt u bijvoorbeeld elk tekstblok vast zonder spaties (zoals hele woorden inclusief interpunctie). De engine verwerkt \\s door niet alleen de standaardspatie te matchen, maar ook tabs (\\t) en nieuweregeltekens (\\n of \\r).

Probeer het

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

Haal elke reeks opeenvolgende cijfers (cijfers) uit de tekst. Gebruik de klasse `\\d` met de kwantor `+`.

Editor laden…
Toon hint

\\d+ legt een of meer cijfers vast. Met de g-vlag verzamel je elke wedstrijd.

Oplossing beschikbaar na 3 pogingen

Oefening beoordelen

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

Vind elk 'woord' in de tekst: een aaneengesloten reeks woordtekens (`\\w+`).

Editor laden…
Toon hint

\\w+ komt overeen met reeksen letters/cijfers/onderstrepingstekens. Interpunctie wordt overgeslagen.

Oplossing beschikbaar na 3 pogingen

Extra uitdaging

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

Find all sequences of one or more consecutive whitespace characters in the text (including spaces, tabs, and newlines).

Editor laden…
Toon hint

Gebruik de klasse \\s met de kwantor + om opeenvolgende witruimtereeksen vast te leggen.

Oplossing beschikbaar na 3 pogingen