Inleiding tot gereelde uitdrukkings in JavaScript
Gereelde uitdrukkings is sulke opdragte vir komplekse soek en vervang (of net soek). Hulle laat toe om baie interessante dinge te doen, maar is ongelukkig redelik swaar om aan te leer.
Daar is verskeie JavaScript-metodes vir
werk met gereelde uitdrukkings. Ons sal begin
kennis maak met hulle aan die hand van die voorbeeld van replace
- jy is reeds bekend met hierdie metode: dit neem as eerste
parameter wat om te verander, en as tweede
- waarmee om te verander. En die metode self word toegepas
op die string waarin die vervanging plaasvind:
'bab'.replace('a', '!'); // sal 'b!b' teruggee
As eerste parameter van hierdie metode kan nie net 'n string oorgedra word nie,
maar 'n gereelde uitdrukking.
'n Gereelde uitdrukking verteenwoordig 'n stel
opdragte, geleë binne skuinsstrepe /. Hierdie
skuinsstrepe word begrenzers van gereelde
uitdrukkings genoem.
Die gereelde uitdrukkings self bestaan uit twee tipes simbole: uit dié wat hulleself voorstel en uit simbole-opdragte, wat genoem word spesiale simbole.
Letters en syfers stel hulleself voor. In die volgende
voorbeeld sal ons met behulp van 'n gereelde uitdrukking
die letter 'a' vervang met !:
'bab'.replace(/a/, '!'); // sal 'b!b' teruggee
Maar die punt is 'n spesiale simbool
en stel enige simbool voor. In die volgende
voorbeeld sal ons die string vind volgens so 'n patroon:
letter 'x', dan enige simbool, dan
weer letter 'x':
'xax eee'.replace(/x.x/, '!'); // sal '! eee' teruggee
Ná die begrenzers kan modifiseerders
geskryf word
- opdragte wat die algemene eienskappe
van die gereelde uitdrukking verander. Byvoorbeeld, die modifiseerder
g skakel die globale soek-
en vervangmodus in - sonder dit soek die gereelde uitdrukking net
die eerste ooreenkoms, en daarmee - alle ooreenkomste.
In die volgende voorbeeld is die modifiseerder
g nie gespesifiseer nie
en die gereelde uitdrukking sal net die eerste
ooreenkoms vind:
'aab'.replace(/a/, '!'); // sal '!ab' teruggee
En nou sal die gereelde uitdrukking alle ooreenkomste vind:
'aab'.replace(/a/g, '!'); // sal '!!b' teruggee
Gegee 'n string:
let str = 'ahb acb aeb aeeb adcb axeb';
Skryf 'n gereelde uitdrukking wat die strings
'ahb', 'acb', 'aeb'
sal vind volgens die patroon: letter 'a', enige simbool,
letter 'b'.
Gegee 'n string:
let str = 'aba aca aea abba adca abea';
Skryf 'n gereelde uitdrukking wat die strings
'abba', 'adca', 'abea'
sal vind volgens die patroon: letter 'a', 2
enige simbole, letter 'a'.
Gegee 'n string:
let str = 'aba aca aea abba adca abea';
Skryf 'n gereelde uitdrukking wat die strings
'abba' en 'abea' sal vind, sonder om
'adca' te vang.