Reguliere expressie
Een reguliere expressie (of "regex") is een zoekpatroon waarmee een of meer tekens binnen een tekenreeks kunnen worden gevonden. Hiermee kunnen specifieke tekens, jokertekens en reeksen tekens worden gevonden. Reguliere expressies werden oorspronkelijk gebruikt door Unix-hulpprogramma's, zoals vi en grep. Tegenwoordig worden ze echter ondersteund door veel codebewerkingstoepassingen en tekstverwerkers op meerdere platforms. Reguliere expressies kunnen ook in de meeste belangrijke programmeertalen worden gebruikt.
Een reguliere expressie kan zo eenvoudig zijn als een basisreeks, zoals "app". De regex "app" zou tekenreeksen vinden die de woorden "apps," "applications," en "inapplicable" bevatten. Een reguliere expressie kan ook ankertekens ("^" en "$") bevatten, die worden gebruikt om respectievelijk het begin en einde van een regel aan te geven. Daarom zou de regex "^apps" de tekenreeks "apps are great," vinden, maar niet de tekenreeks "I like apps."
Reguliere expressies kunnen streepjes bevatten, die worden gebruikt om een reeks tekens te vinden, zoals alle kleine letters. De regex "[a-z]" zou bijvoorbeeld "apps" vinden, maar niet de tekenreeksen "Apps" of "123". De regex "[A-Za-z]" zou "Apps" vinden en "[0-9]" zou "123" vinden. Een punt, het standaardjokerteken in reguliere expressies, kan worden gebruikt om elk teken te vinden (behalve een regeleindeteken). Een punt gevolgd door een asterisk (.*) vindt nul of meer exemplaren, terwijl een punt gevolgd door een plusteken (.+) een of meer exemplaren vindt.
Wat gebeurt er als je een tekenreeks moet vinden die een streepje, asterisk, plusteken of ankerteken bevat? Deze tekens kunnen in een patroon voor een reguliere expressie worden opgenomen door ze met een backslash ("\") te "escapen". Als je bijvoorbeeld naar "$0.99" wilt zoeken, zou de regex eruitzien als "\$0\.99". Backslashes worden ook gebruikt om naar niet-afdrukbare tekens te zoeken. Zo vindt "\r" een carriage return, vindt "\n" een nieuwe regel en vindt "\t" een tabteken.
Hoewel het niet veel moeite kost om een eenvoudige reguliere expressie te maken, is het schrijven van een geavanceerde regex geen gemakkelijke taak. Zelfs de beste programmeurs krijgen complexe reguliere expressies zelden meteen de eerste keer goed. Wanneer ze op de juiste manier worden gebruikt, zijn reguliere expressies echter een krachtig hulpmiddel om naar specifieke tekst te zoeken, deze te vinden en te vervangen.
Test je kennis