hulpmiddelen |
Reguliere expressieEen reguliere expressie (afgekort tot “regexp”, “regex” of RE) is een manier om patronen te beschrijven waarmee een computer tekst kan herkennen. Reguliere expressies worden in veel editors en hulpprogramma’s gebruikt om stukken tekst te doorzoeken en te manipuleren op basis van bepaalde patronen. Veel programmeertalen ondersteunen reguliere expressies voor tekstmanipulatie. Sommigen, zoals Perl en JavaScript, hebben ze zelfs in hun syntaxis ingebouwd. Reguliere expressies zijn vooral populair geworden door de hulpprogramma’s van het besturingssysteem Unix, zoals sed en grep. Een eenvoudige variant van de reguliere expressie is in veel besturingssystemen te vinden als de jokertekens die gebruikt kunnen worden bij het zoeken naar bestandsnamen.
[bewerk] BasisconceptenEen reguliere expressie omschrijft een verzameling tekenreeksen (strings) zonder ze allemaal op te noemen. De drie strings Handel, Händel en Haendel kunnen bijvoorbeeld beschreven worden met het patroon “H(a|ä|ae)ndel”. Gewone letters en cijfers in de reguliere expressie herkennen hetzelfde teken in de te vinden tekenreeks. Een aantal tekens hebben speciale betekenis:
Deze basiselementen kunnen worden gecombineerd met de volgende constructies:
Al deze constructies kunnen gecombineerd worden in hetzelfde patroon, zodat “H(ae?|ä)ndel” hetzelfde is als “H(a|ae|ä)ndel”. De precieze syntaxis varieert enigszins tussen de verschillende programma’s, maar de bovenstaande komen het meeste voor. [bewerk] WiskundeDe reguliere expressies komen voort uit de wiskundige logica, meer bepaald de theorie van de formele talen. Ze zijn uitgevonden door de Amerikaanse wiskundige Stephen Kleene als methode om reguliere talen te beschrijven. De verzameling reguliere expressies over een alfabet (verzameling symbolen) Σ wordt als volgt inductief gedefinieerd:
De taal L die beschreven wordt door een reguliere expressie (de verzameling strings die “herkend” worden door een patroon) wordt ook inductief gedefinieerd:
De kwantoren ? en + kunnen als volgt gedefinieerd worden om hun gebruikelijke gedrag te veroorzaken:
Het blijkt dat de taal L(R) van een reguliere expressie R altijd een reguliere taal is. [bewerk] Zie ook
[bewerk] Externe links
|