Please Wait a Moment
X

Een reguliere expressie (uit het Engels, regular expression, afgekort tot “regexp”, “regex” of RE) is een manier om patronen te beschrijven waardoor een computer softwarematig tekst kan herkennen. Er bestaat hiervoor een formele syntaxis, die deels is gestandaardiseerd.

Reguliere expressies worden bijvoorbeeld in teksteditors gebruikt om stukken tekst te doorzoeken of te veranderen; in andere programma's worden ze gebruikt om te controleren dat bepaalde patronen voorkomen. Veel programmeertalen ondersteunen reguliere expressies voor tekstmanipulatie. Sommige, zoals Perl en JavaScript, hebben ze zelfs in hun syntaxis ingebouwd. Reguliere expressies zijn bekend geworden door hulpprogramma’s van het besturingssysteem Unix als 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.

Grondbegrippen

Een reguliere expressie omschrijft een verzameling tekenreeksen (strings) zonder ze alle afzonderlijk op te noemen. De drie strings HandelHä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. Enkele tekens hebben een speciale betekenis:

  • Een punt (.) staat voor een willekeurig teken, behalve het teken voor een newline (\n).
  • Vierkante haken geven een lijst van mogelijke tekens: [abc].
    • Binnen vierkante haken staat een minteken voor een reeks: [a-zA-Z] is het patroon waarmee alle letters “gevangen” worden.
    • Een dakje als eerste teken binnen de vierkante haken verandert de tekenverzameling in het omgekeerde: [^0-9] herkent alles wat geen cijfer is.
  • Een dakje ^ staat voor het begin van de regel.
  • Een dollarteken $ staat voor het eind van de regel.

Deze basiselementen kunnen worden gecombineerd met de volgende constructies:

Keuze
Een verticale balk scheidt de alternatieven, bijvoorbeeld “groen|rood” herkent “groen” of “rood”.
Kwantificatie
Een kwantor achter een teken geeft aan hoe vaak dat teken voor mag komen. De meest voorkomende kwantoren zijn +? en *:
+
Een plusteken geeft aan dat het voorafgaande teken ten minste één keer moet voorkomen, bijvoorbeeld “goo+gle” herkent googlegoooglegoooogle, enz.
?
Een vraagteken geeft aan dat het voorafgaande teken ten hoogste één keer mag voorkomen, bijvoorbeeld “De Bruij?n” herkent “De Bruin” en “De Bruijn”.
*
Een sterretje geeft aan dat het voorafgaande teken nul of meer keer mag voorkomen, bijvoorbeeld “0*42” herkent 420420042, enzovoort.
Een veelvoorkomende constructie is .* dat alle tekst vindt.
Groepering
Haakjes maken een eenheid van het patroon waar ze omheen staan, bijvoorbeeld “(va|moe)der” is hetzelfde als “vader|moeder” en “(groot)?vader” herkent zowel “vader” als “grootvader”.

Deze constructies kunnen worden gecombineerd 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 meestal worden de bovenstaande gebruikt.

 

Bronnen en handige sites:

Maken en testen: https://regex101.com/

Wikipedia Engels: https://en.wikipedia.org/wiki/Regular_expression

Wikipedia Nederlands: https://nl.wikipedia.org/wiki/Reguliere_expressie

http://www.regular-expressions.info/

https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html

 

About the Author

Related

Foto's en afbeeldingen verkleinen in de Windows 10 verkenner met Powertoys - Image Resizer utility

Foto's en afbeeldingen verkleinen in de Windows 10 verkenner met Powertoys - Image Resizer utility

Hoe kan je eenvoudig afbeeldingen en foto's verkleinen (resolutie) vanuit Windows verkenner met ...

Read More >
Onedrive kan niet aanmelden vanwege geen internet, maar dat is er wel (error 0x8004de40 of 0x8004dec5) .

Onedrive kan niet aanmelden vanwege geen internet, maar dat is er wel (error 0x8004de40 of 0x8004dec5) .

Onedrive kan niet aanmelden vanwege geen internet (error 0x8004de40 of 0x8004dec5), maar dat is er w...

Read More >
DNS name servers Telenet, Google, OpenDNS en Cloudflare + online test

DNS name servers Telenet, Google, OpenDNS en Cloudflare + online test

De IPv4 en IPv6 adressen van de DNS servers van Telenet, Google, OpenDNS en Cloudflare.

Read More >

Voeg internet alias toe aan een IIS binding.

Met dit script kan je een internet domein alias toevoegen aan een binding van een IIS website.

Read More >

Outlook is verbonden maar er komt geen nieuwe mail en er wordt geen mail verstuurd (error 0x80040115)

Outlook is verbonden maar er komt geen nieuwe mail en er wordt geen mail verstuurd (error 0x80040115...

Read More >

Outlook 365 vraagt herhaaldelijk naar credentials voor gedeelde mailboxen bij een on-premise Exchange Server.

Outlook vraagt herhaaldelijk naar credentials voor gedeelde mailboxes die geen wachtwoord nodig hebb...

Read More >

Post a Comment

Zoek in artikels

Categoriëen

Recente artikels

  • Recent
  • Popular
  • Tag