In deze blog leggen we aan je uit wat reguliere expressie is en hoe het werkt. Zodat jij er straks ook je voordeel mee kunt doen.
Een reguliere expressie, vaak ‘regex’ genoemd, is een reeks aan tekens die een patroon beschrijft. Met regex kun je specifieke patronen vinden en gebruiken.
Het is als een geavanceerde zoekfunctie, waarbij je gedetailleerd aangeeft wat je zoekt, zoals bepaalde woorden of getallen.
Je kunt een reguliere expressie bijvoorbeeld gebruiken om spam te filteren, om tekst te formatteren, of om data te analyseren.
Reguliere expressies werken door de tekst te vergelijken met het patroon dat ze beschrijven. Als de tekst overeenkomt met het patroon, wordt de expressie als “waar” beschouwd.
Reguliere expressies gebruiken een reeks speciale tekens om patronen te beschrijven
Een simpel voorbeeld. Stel je wil alle nummers vinden in een groot tekstbestand. Dan kun je onderstaande reguliere expressie gebruiken:
[0-9]+
Volgens deze reguliere expressie voldoen dus alle onderstaande reeksen aan de regex. Ieder cijfer in het tekstbestand wordt nu gevonden.
1
0000
112233
1234567890
Als marketeer kun je een stuk sneller en efficiënter werken door op de juiste momenten gebruik te maken van reguliere expressie. Denk bijvoorbeeld aan:
En nog veel meer!
Het opstellen van een reguliere expressie kan een flinke puzzel zijn. Binnen de reguliere expressie gebruik je namelijk verschillende tekens en karakters om patronen vast te leggen.
In de tabel hieronder hebben we de meest gebruikte regex tekens op een rij gezet, inclusief voorbeelden.
Teken | Betekenis | Voorbeeld |
* | Komt overeen met nul of meer van het vorige element | |
^ | Geeft het begin van een regel of string aan | ^abc komt overeen met “abc” aan het begin van een string |
$ | Geeft het einde van een regel of string aan | abc$ komt overeen met “abc” aan het einde van een string |
. | Komt overeen met elk karakter behalve een nieuwe regel | a.b komt overeen met “acb”, “aab”, “a3b”, etc. |
+ | Komt overeen met één of meer van het vorige element | a+ komt overeen met “a”, “aa”, “aaa”, etc. |
? | Maakt het vorige karakter optioneel | ab?c komt overeen met “ac” of “abc” |
Gebruikt om het eerstvolgende teken letterlijk te nemen. (Bijvoorbeeld . betekent letterlijk een punt) | a.b komt overeen met “a.b” | |
[] | Komt overeen met elk teken in de reeks | [abc] komt overeen met “a”, “b”, of “c” |
[^] | Komt overeen met elk teken dat niet in de reeks is opgenomen | [^abc] komt overeen met elk teken behalve “a”, “b”, of “c” |
() | Groepeert deeluitdrukkingen | (abc) behandelt “abc” als één eenheid |
{n} | Komt overeen met precies n keer van het voorgaande teken | a{2} komt overeen met “aa” |
{n,} | Komt overeen met n of meer van het voorgaande teken | a{2,} komt overeen met “aa”, “aaa”, “aaaa”, etc. |
{n,m} | Komt overeen met n tot m keer van het voorgaande teken | a{2,4} komt overeen met “aa”, “aaa”, of “aaaa” |
Bij het opstellen van regex zijn er eindeloos veel mogelijkheden. Dat maakt het vaak ook lastig om een reguliere expressie te schrijven die precies werkt zoals je wil.
Je kunt het jezelf al een stuk makkelijker maken door:
Tip: Ga je aan de slag met AI of een generator? Begin dan met eenvoudige reguliere expressies. Als je de basics onder de knie hebt, kun je complexere reguliere expressies gaan maken.
Als het goed is heb je nu je reguliere expressie zelf geschreven, een generator gebruikt, AI ingezet of de regex ontvangen van een codeur.
Dan is het tijd om te testen of ‘ie werkt! Je kunt daarvoor gebruik maken van een RegEx tester. Bijvoorbeeld Regex101.com.
Voeg de reguliere expressie die je hebt opgesteld toe aan de balk bovenaan, en voeg vervolgens verschillende URL’s toe om te testen of de URL matcht met de RegEx.
Test ook een paar URL’s die niet met de RegEx mogen matchen. Zo weet je zeker dat je niet meer meeneemt dan de bedoeling is.
Laten we weer kijken naar het voorbeeld van eerder: [0-9]+. Hiermee willen we alle cijfers in een bepaald tekstbestand vinden. Om te testen of de regex dat doet wat hij moet doen, vul je bovenaan de regex in. Daarna voeg je wat combinaties toe. Voeg zowel goede als foutieve strings toe.
In dit geval doet de reguliere expressie precies wat we willen. Alle cijfers leveren een match op.
Dat kunnen we natuurlijk ook wat ingewikkelder maken. Stel, we willen alleen cijferreeksen die bestaan uit 4 cijfers én er mogen geen andere tekens in de reeks voorkomen. Dan ziet de test er alsvolgt uit:
Kijk aan! Alleen de cijferreeksen met 4 cijfers, en zonder andere tekens, leveren een match op.
Jij weet nu precies wat reguliere expressie is, hoe regex werkt en hoe je zelf een regel kunt opstellen. Tijd om aan de slag te gaan en je nieuw opgedane kennis in praktijk te brengen. Bij deze nog wat laatste tips:
Succes!
Geschreven door: Nicole de Boer
Nicole is Teamlead CRO bij OMA. Ze brengt je website op smaak met fijne SEO content en hakt je concurrentie in de pan. Lekker en gezond in één.