Het caret-symbool binnen sets in JavaScript regex
Zoals je weet, creëert de caret binnen [ ]
een ontkenning wanneer deze aan het begin van de haken wordt geschreven.
Dit betekent dat het een speciaal symbool is binnen
deze haken. Om de caret als een symbool te krijgen,
moet je deze of escapen, of niet op de eerste positie zetten.
Voorbeeld
In het volgende voorbeeld is het zoekpatroon als volgt:
het eerste teken is alles behalve 'd',
dan twee letters 'x'.
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[^d]xx/g, '!');
Het resultaat in de variabele is als volgt:
'! ! ! dxx'
Voorbeeld
Nu is het zoekpatroon als volgt: eerste teken
is 'd' of '^', dan twee
letters 'x':
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[d^]xx/g, '!');
Het resultaat in de variabele is als volgt:
'axx bxx ! !'
Voorbeeld
Je hoeft de caret niet van de eerste positie te halen, je kunt deze gewoon escapen met een backslash, en dan zal het zichzelf vertegenwoordigen:
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[\^d]xx/g, '!');
Het resultaat in de variabele is als volgt:
'axx bxx ! !'
Praktische opdrachten
Gegeven een string:
let str = '^xx axx ^zz bkk @ss';
Schrijf een reguliere expressie die strings vindt volgens het patroon: caret of apenstaartje, gevolgd door twee Latijnse letters.
Gegeven een string:
let str = '^xx axx ^zz bkk @ss';
Schrijf een reguliere expressie die strings vindt volgens het patroon: GEEN caret en geen apenstaartje, gevolgd door twee Latijnse letters.
Gegeven een string:
let str = '^xx axx ^zz bkk';
Schrijf een reguliere expressie die strings vindt volgens het patroon: geen caret en geen spatie, gevolgd door twee Latijnse letters.