De 'of'-opdracht in reguliere expressies JavaScript
In deze les behandelen we de opdracht
'|', wat een krachtigere
variant is van 'of' vergeleken
met de opdracht [ ]. Deze opdracht maakt het mogelijk
om de reguliere expressie in meerdere delen te splitsen.
Het gezochte kan dan voldoen aan het ene
deel van de reguliere expressie, of aan het andere. Laten we
dit bekijken aan de hand van voorbeelden.
Voorbeeld
In dit voorbeeld is het zoekpatroon als volgt: drie
letters 'a' of drie letters 'b':
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
Het resultaat in de variabele is als volgt:
'! ! abb'
Voorbeeld
In dit voorbeeld is het zoekpatroon als volgt: drie
letters 'a' of van 1 of meer
letters 'b':
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
Het resultaat in de variabele is als volgt:
'! ! ! ! axx'
Voorbeeld
In dit voorbeeld is het zoekpatroon als volgt: één of meer letters of drie cijfers:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
Het resultaat in de variabele is als volgt:
'! ! ! 1 12 !'
Voorbeeld
De verticale streep kan de reguliere expressie verdelen in niet alleen twee delen, maar in elk gewenst aantal delen:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
Het resultaat in de variabele is als volgt:
'! ! ! ddd'
Voorbeeld
Als de verticale streep binnen ronde haakjes staat,
dan werkt 'of' alleen binnen
deze haakjes.
Laten we als voorbeeld strings zoeken volgens het volgende
patroon: aan het begin staat of 'a',
of 'b' één of meer keer, en daarna
twee letters 'x':
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
Het resultaat in de variabele is als volgt:
'! ! ! exx'
Praktische opdrachten
Gegeven de string:
let str = 'aeeea aeea aea axa axxa axxxa';
Schrijf een reguliere expressie die strings vindt
volgens het patroon: aan de randen staan de letters 'a',
en daartussen - of de letter 'e' een willekeurig
aantal keer of de letter 'x' een willekeurig
aantal keer.
Gegeven de string:
let str = 'aeeea aeea aea axa axxa axxxa';
Schrijf een reguliere expressie die strings vindt
volgens het patroon: aan de randen staan de letters 'a',
en daartussen - of de letter 'e' twee keer
of de letter 'x' een willekeurig aantal keer.