💻
Automaten - 0
  • Introductie
  • Les 1 - Toestandsdiagrammen
    • Toestandsdiagram - Lift
    • Frisdrankautomaat
    • Frisdrankautomaat: Vragen
    • Waarom automaten?
    • Oefenopdracht: Maak een toestandsdiagram I
    • Inleveropdracht: Maak een toestandsdiagram II
  • Les 2 - Toestanden in de klas
    • Klassikaal - Unplugged werkvorm
  • Les 3 - Van diagram naar programma
    • Van diagram naar programma
    • Voorbeeld
    • Inleveropdracht: Zelf omzetten
  • Les 4 - Toestanden en games
    • Game states
    • Player states
    • Inleveropdracht: Speler die kan schieten
  • Les 5 - Talen en automaten
    • Toestandsautomaten en reguliere expressies
    • Reguliere expressies
    • Oefenopdrachten: Strings accepteren en expressie maken
    • Inleveropdracht: Reguliere expressies maken
    • Inleveropdracht: Strings matchen
    • Voorbeeld: Atom
    • Voorbeeld: Invoervalidatie
    • Voorbeeld: Chatbots
    • Extra: Meer over reguliere expressies
  • Antwoorden
    • Les 1 - Frisdrankautomaat: Vragen
    • Les 1 - Oefenopdracht - Maak toestandsdiagram I
    • Les 5 - Oefenopdrachten: Strings accepteren en expressie maken
Powered by GitBook
On this page
  • Keuzes en series van karakters
  • Nog meer combineren

Was this helpful?

  1. Les 5 - Talen en automaten

Reguliere expressies

PreviousToestandsautomaten en reguliere expressiesNextOefenopdrachten: Strings accepteren en expressie maken

Last updated 5 years ago

Was this helpful?

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

Keuzes en series van karakters

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

Nog meer combineren

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 #!.