Een regular expression, meestal afgekort tot regex of regexp, is een
zoekpatroon die je op een tekst kunt loslaten. Een regex kan heel
simpel zijn; regex bijvoorbeeld zal in een tekst zoeken naar het woord regex.
Iets complexer: ^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$.
Deze regex zal kijken of een string begint met een aantal letters,
cijfers, punten, underscores, procent- en min-tekentjes, met daarna een
@ teken, daarna weer een aantal cijfers, letters, punten of
min-tekentjes, een punt, en daarna nog 2 tot 4 letters. Of: een email
adres. Dit gebruikt men om te controleren of een opgegeven email in een
formulier wel geldig is. Deze regex zal echter falen op adressen als
jan@met.de.pet.be, of jan@pet.info, wat perfect valide, maar weinig
gebruikte adressen zijn.
Om aan te tonen hoe complex dit kan worden; de “perfecte” email regex is 6343 karakters lang.. deze volgt helemaal strikt RFC 822, de vastgelegde norm zeg maar van wat een geldig email adres is. Dit simpele voorbeeld van een email regex heeft intussen al voor ettelijke uren discussie gezorgd op ‘geek’ forums en chatkanalen.
Het is een feit dat dit zeer complexe materie kan zijn, maar het is dan ook enorm krachtig. Je kunt ermee zeer snel en doeltreffend stukken tekst opzoeken of vervangen, zelfs in honderden bestanden tegelijk. Voor een programmeur is het dan ook iets zeer handigs om onder de knie te hebben.
Reacties