Die 'of'-opdrag in JavaScript regulêre uitdrukkings
In hierdie les sal ons die opdrag
'|' ontleed, wat 'n meer
kragtige variant van 'of' is in vergelyking
met die opdrag [ ]. Hierdie opdrag laat toe om
die regulêre uitdrukking in verskeie dele te verdeel.
Die gesoekte kan óf onder die een
deel van die regulêre uitdrukking val, óf onder die ander. Kom ons
kyk na voorbeelde.
Voorbeeld
In hierdie voorbeeld is die soekpatroon soos volg: drie
letters 'a' of drie letters 'b':
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
As gevolg sal die volgende in die veranderlike weggeskryf word:
'! ! abb'
Voorbeeld
In hierdie voorbeeld is die soekpatroon soos volg: drie
letters 'a' of van 1 en meer
letters 'b':
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
As gevolg sal die volgende in die veranderlike weggeskryf word:
'! ! ! ! axx'
Voorbeeld
In hierdie voorbeeld is die soekpatroon soos volg: een of meer letters of drie syfers:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
As gevolg sal die volgende in die veranderlike weggeskryf word:
'! ! ! 1 12 !'
Voorbeeld
Die vertikale strepie kan die regulêre uitdrukking nie net in twee dele verdeel nie, maar in enige aantal dele:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
As gevolg sal die volgende in die veranderlike weggeskryf word:
'! ! ! ddd'
Voorbeeld
As die vertikale strepie binne ronde hakies
plaasgevind het, dan werk 'of' slegs binne
hierdie hakies.
As voorbeeld, laat ons die stringe vind volgens die volgende
patroon: aan die begin is óf 'a',
óf 'b' een of meer keer, en dan
twee letters 'x':
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
As gevolg sal die volgende in die veranderlike weggeskryf word:
'! ! ! exx'
Praktiese take
Daar is 'n string:
let str = 'aeeea aeea aea axa axxa axxxa';
Skryf 'n regulêre uitdrukking wat die stringe sal vind
volgens die patroon: aan die kante is daar letters 'a',
en tussen hulle - óf die letter 'e' enige
aantal kere óf die letter 'x' enige
aantal kere.
Daar is 'n string:
let str = 'aeeea aeea aea axa axxa axxxa';
Skryf 'n regulêre uitdrukking wat die stringe sal vind
volgens die patroon: aan die kante is daar letters 'a',
en tussen hulle - óf die letter 'e' twee keer
óf die letter 'x' enige aantal kere.