Regular expressions

Regular expressions, kortweg regexes, zijn bondige en eenduidige patronen waarmee je strings kan analyseren. Voor een beginner zijn ze soms wat imponerend, omdat ze moeilijk in een oogopslag te begrijpen zijn. Als je echter wat oefent en eventueel wat handige tools gebruikt, zijn ze enorm krachtig op veel plekken in je code. Daarnaast kun je die kennis ook weer gebruiken in allerlei andere programma's, zoals de terminal in *nix-systemen of JavaScript.

De basis

Regexes worden altijd omsloten door de delimiter, een teken dat je zelf mag kiezen, behalve alfanumerieke tekens en de backslash. Deze geeft het begin en einde van de regels aan. De simpelste regexen zijn gewoon een tekst. Je komt dan dus op een van de volgende uit, als je wilt zoeken naar 'php':

  • /php/
  • ~php~
  • #php#
  • {php} (ja, dit is een uitzondering)
  • ...

Dit is natuurlijk nog niet veel boeiender dan een gewone search. Je kunt echt ook zoeken naar een karakter uit een stel opties:

  • #[aeiou]#

Dit vindt een a of e of i of u (1 karakter, het systeem moet kiezen).

Je kunt zulke classes ook herhalen

  • #[aeiou]{2,5}#

Dit zoekt naar twee tot vijf klinkers op een rij.

Er zijn nog veel, veel meer opties, zie hiervoor de manual van PHP of bijvoorbeeld regular-expressions.info/

Functies in PHP

preg_match
Bepaalt of de string voldoet aan de eisen van de regex.
preg_replace
Brengt vervangingen aan op basis van de regex-regels.
preg_match_all
Bepaalt alle plekken/posities waar de regex voldoet en biedt je de mogelijkheid alle "matches" in een array terug te krijgen.

Voorbeelden

Onderwerpen die hier onder vallen:
Inloggen wachtwoord vergeten? Aanmelden
ADSL – Telfort Internet – Ziggo Alles in 1