⊗jsSpREHHy 110 of 294 menu

Koppelteken binnen sets in JavaScript reguliere expressies

Het koppelteken - is ook een speciaal teken binnen [ ] (maar buiten [ ] - niet). Als je het koppelteken zelf nodig hebt als teken - plaats het dan waar het niet wordt geïnterpreteerd als scheidingsteken van een groep.

Waarom dit belangrijk is: je kunt per ongeluk een groep tekens maken. Bijvoorbeeld, zo - '[:-@]' - je denkt dat je een dubbele punt, een koppelteken en een apenstaartje selecteert, maar in werkelijkheid krijg je een groep tekens tussen : en @. Deze groep bevat de volgende tekens: ? < = > : ;

Waar komen ze vandaan? Uit de ASCII-tabel - de dubbele punt heeft een lager nummer dan de apenstaart - en zo ontstaat de groep. Dat wil zeggen, alle groepen worden gevormd volgens de ASCII-tabel (je kunt dit gebruiken als je wilt).

Hoe dit op te lossen: plaats het koppelteken waar het zeker niet wordt gezien als een groepsscheidingsteken, bijvoorbeeld aan het begin of aan het einde (dat wil zeggen, na [ of voor ]).

Je kunt het koppelteken ook escapen - dan zal het zichzelf vertegenwoordigen, ongeacht de positie. Bijvoorbeeld, in plaats van [:-@] schrijf [:\-@] - en dan is er geen groep meer, maar zijn er drie tekens - dubbele punt, koppelteken en apenstaartje @.

Voorbeeld

In het volgende voorbeeld is het zoekpatroon als volgt: cijfer 1, dan letter van 'a' tot 'z', dan cijfer 2:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[a-z]2/g, '!');

Als resultaat wordt het volgende in de variabele opgeslagen:

'! 1-2 ! !'

Voorbeeld

Laten we nu het koppelteken escapen. Als resultaat is het zoekpatroon als volgt: cijfer 1, dan letter 'a', of koppelteken, of letter 'z', dan cijfer 2:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[a\-z]2/g, '!');

Als resultaat wordt het volgende in de variabele opgeslagen:

'! ! 1c2 !'

Voorbeeld

Je kunt het koppelteken eenvoudig verplaatsen zonder het te escapen:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[az-]2/g, '!');

Als resultaat wordt het volgende in de variabele opgeslagen:

'! ! 1c2 !'

Voorbeeld

In het volgende voorbeeld is het zoekpatroon als volgt: eerste teken - kleine letters of koppelteken '-', dan twee letters 'x':

let str = 'axx Axx -xx @xx'; let res = str.replace(/[a-z-]xx/g, '!');

Als resultaat wordt het volgende in de variabele opgeslagen:

'! Axx ! @xx'

Voorbeeld

In het volgende voorbeeld is het zoekpatroon als volgt: eerste teken - kleine letters, hoofdletters of koppelteken '-', dan twee letters 'x':

let str = 'axx Axx -xx @xx'; let res = str.replace(/[a-zA-Z-]xx/g, '!');

Als resultaat wordt het volgende in de variabele opgeslagen:

'! ! ! @xx'

Voorbeeld

Je kunt het koppelteken tussen twee groepen plaatsen - daar zal het zeker geen extra groep creëren:

let str = 'axx 9xx -xx @xx'; let res = str.replace(/[a-z-0-9]xx/g, '!');

Als resultaat wordt het volgende in de variabele opgeslagen:

'! ! ! @xx'

Praktische opdrachten

Gegeven een string:

let str = 'xaz xBz xcz x-z x@z';

Vind alle strings volgens het volgende patroon: letter 'x', hoofdletter of kleine letter of koppelteken, letter 'z'.

Gegeven een string:

let str = 'xaz x$z x-z xcz x+z x%z x*z';

Vind alle strings volgens het volgende patroon: letter 'x', dan of dollarteken, of koppelteken of plusteken, dan letter 'z'.

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