'Eller'-kommandoen i regulære uttrykk i JavaScript
I denne leksjonen skal vi analysere kommandoen
'|', som representerer en mer
kraftig variant av 'eller' sammenlignet
med kommandoen [ ]. Denne kommandoen tillater
å dele det regulære uttrykket i flere deler.
Samtidig kan det søkte enten falle under en
del av det regulære uttrykket, eller under en annen. La oss
se på eksempler.
Eksempel
I dette eksemplet er søkemønsteret slik: tre
bokstaver 'a' eller tre bokstaver 'b':
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
Resultatet i variabelen vil bli følgende:
'! ! abb'
Eksempel
I dette eksemplet er søkemønsteret slik: tre
bokstaver 'a' eller fra 1 og flere
bokstaver 'b':
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
Resultatet i variabelen vil bli følgende:
'! ! ! ! axx'
Eksempel
I dette eksemplet er søkemønsteret slik: en eller flere bokstaver eller tre sifre:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
Resultatet i variabelen vil bli følgende:
'! ! ! 1 12 !'
Eksempel
Det vertikale streket kan dele det regulære uttrykket ikke i to deler, men i et hvilket som helst antall deler:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
Resultatet i variabelen vil bli følgende:
'! ! ! ddd'
Eksempel
Hvis det vertikale streket står innenfor runde
parenteser, så virker 'eller' bare innenfor
disse parentesene.
Som et eksempel, la oss finne strenger etter følgende
mønster: i begynnelsen står enten 'a',
eller 'b' en eller flere ganger, og deretter
to bokstaver 'x':
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
Resultatet i variabelen vil bli følgende:
'! ! ! exx'
Praktiske oppgaver
Gitt en streng:
let str = 'aeeea aeea aea axa axxa axxxa';
Skriv et regulært uttrykk som finner strenger
etter mønsteret: på kantene står bokstaver 'a',
og mellom dem - enten bokstaven 'e' et hvilket som helst
antall ganger eller bokstaven 'x' et hvilket som helst
antall ganger.
Gitt en streng:
let str = 'aeeea aeea aea axa axxa axxxa';
Skriv et regulært uttrykk som finner strenger
etter mønsteret: på kantene står bokstaver 'a',
og mellom dem - enten bokstaven 'e' to ganger
eller bokstaven 'x' et hvilket som helst antall ganger.