⊗jsSpREInr 96 of 294 menu

Introductie tot reguliere expressies in JavaScript

Reguliere expressies zijn commando's voor complex zoeken en vervangen (of gewoon zoeken). Ze maken heel interessante dingen mogelijk, maar zijn helaas behoorlijk moeilijk om onder de knie te krijgen.

Er zijn verschillende JavaScript-methoden voor het werken met reguliere expressies. We beginnen kennis te maken met ze aan de hand van het voorbeeld replace - je bent al bekend met deze methode: de eerste parameter is wat vervangen moet worden, en de tweede - door wat te vervangen. En de methode zelf wordt toegepast op de string waarin de vervanging plaatsvindt:

'bab'.replace('a', '!'); // retourneert 'b!b'

Als eerste parameter van deze methode kan men niet alleen een string doorgeven, maar ook een reguliere expressie. Een reguliere expressie is een reeks commando's, geplaatst tussen schuine strepen /. Deze schuine strepen worden scheidingstekens van reguliere expressies genoemd.

De reguliere expressies zelf bestaan uit twee soorten tekens: uit die welke zichzelf vertegenwoordigen en uit teken-commando's, die speciale tekens worden genoemd.

Letters en cijfers vertegenwoordigen zichzelf. In het volgende voorbeeld vervangen we met behulp van een reguliere expressie de letter 'a' door !:

'bab'.replace(/a/, '!'); // retourneert 'b!b'

Maar een punt is een speciaal teken en vertegenwoordigt elk willekeurig teken. In het volgende voorbeeld zoeken we een string volgens dit patroon: letter 'x', dan elk willekeurig teken, dan weer de letter 'x':

'xax eee'.replace(/x.x/, '!'); // retourneert '! eee'

Na de scheidingstekens kunnen modifiers worden geschreven - commando's die de algemene eigenschappen van de reguliere expressie wijzigen. Bijvoorbeeld, de modifier g schakelt de modus voor globaal zoeken en vervangen in - zonder deze zoekt de reguliere expressie alleen de eerste overeenkomst, en met deze - alle overeenkomsten.

In het volgende voorbeeld is de modifier g niet opgegeven en zal de reguliere expressie alleen de eerste overeenkomst vinden:

'aab'.replace(/a/, '!'); // retourneert '!ab'

En nu vindt de reguliere expressie alle overeenkomsten:

'aab'.replace(/a/g, '!'); // retourneert '!!b'

Gegeven een string:

let str = 'ahb acb aeb aeeb adcb axeb';

Schrijf een reguliere expressie die de strings 'ahb', 'acb', 'aeb' vindt volgens het patroon: letter 'a', elk willekeurig teken, letter 'b'.

Gegeven een string:

let str = 'aba aca aea abba adca abea';

Schrijf een reguliere expressie die de strings 'abba', 'adca', 'abea' vindt volgens het patroon: letter 'a', 2 willekeurige tekens, letter 'a'.

Gegeven een string:

let str = 'aba aca aea abba adca abea';

Schrijf een reguliere expressie die de strings 'abba' en 'abea' vindt, zonder 'adca' te vangen.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren