Reguliere expressies
Last updated
Last updated
Een toestandsdiagram is een plaatje en het zou onhandig zijn als je dat in de computer wil gebruiken. We kunnen de patronen die we herkennen ook op een andere manier weergeven. We leggen hier niet alles tot in detail uit (reguliere expressies kunnen echt heel ingewikkeld worden), maar geven een paar veel voorkomende dingen.
In het plaatje hierboven zie je dat we minimaal 1 keer een o willen hebben en daarna zo veel keer een o als we willen. Hoe kunnen we dat nu aangeven?
Quantifier
Betekenis
+
1 of meer keer
*
0 of meer keer
?
0 of 1 keer
{n}
Precies n keer
{n, m}
Minimaal n, maximaal m keer
Voorbeelden
Reguliere expressie
Wel herkend
Niet herkend
ho+i
hoi, hooooooi
hi, Hi
ho*i
hi, hoi, hooooi
Hi
ho{3, 6}i
hoooi, hooooi
hoi, hoooooooi
Soms wil je de keuze hebben uit meerdere karakters. Je gebruikt dan de [
en]
. Alle karakters tussen de blokhaken wil je zien en geen anderen.
Teken
Betekenis
[ab3 ]
Alleen karakter a, b, 3 of spatie
[a-z]
Alleen een kleine letter uit het alfabet
[4-8]
Alleen een cijfer 4, 5, 6, 7 of 8
We kunnen hierbij ook quantifiers gebruiken dus je kunt iets doen als:
[0-9]+[A-Z]
herkent alles wat begint met 1 of meer cijfers en daarna precies 1 hoofdletter.
Reguliere expressie
Wel herkend
Niet herkend
[0-9]+[A-Z]
647687264A, 0H, 9999G
B, 939820, &^B
De kracht van reguliere expressies is dat je dit soort dingen kunt gaan combineren tot de meest ingewikkelde expressies. We houden het simpel hier maar ga maar eens googlen.
Voorbeeld:
[Hh][oa]*i!
Dit herkent Hoi!
, haaoi!
en hi!
bijvoorbeeld, maar niet hoi
, Ha!
, 3oi!
of #!
.