Wat zijn regular expressions?

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.

Meer lezen?

Reacties

Reageer als eerste!

Geef je mening… don't be shy

  • http://

Meet the primates

  • Jelle

    Jelle vertrekt vanuit duidelijke structuurdocumenten en ontwerpt uw website. Hij is gek op goed design en sterke typografie.

  • Jochen

    Jochen zet uw ontwerp om naar een strak staaltje modern webdesign. Zijn motto: build for the best, optimize for the rest.

Feed the primates

Wij hebben grote honger naar nieuwe projecten. Ook voor uw project leggen wij de lat heel hoog. Samenwerken? Stuur een berichtje of geef een belletje.

Een idee voor een nieuw project? We zijn benieuwd