Karaktersets in JavaScript se regulêre uitdrukkings
Karaktergroepe \d en \w is nie
baie buigsaam nie. Selfs 'n eenvoudige taak soos
vind alle letters, maar nie syfers nie -
kan nie deur hulle opgelos word nie. Vir sulke take
moet vierkantige hakies gebruik word, wat
die bewerking 'of' verteenwoordig.
Vierkantige hakies vervang een karakter,
enige een van die wat binne-in gelys is. Byvoorbeeld,
soos volg: /x[abc]x/ - sê ons dat
aan die kante daar x-karakters moet wees, en binne-in
- een karakter: óf 'a', óf 'b',
óf 'c'.
Na vierkantige hakies kan herhalingsoperatore
geskryf word. Byvoorbeeld, soos volg: /x[abc]+x/
- sê ons dat tussen die x's enige hoeveelheid karakters
'a', 'b' en 'c' kan wees
- in enige kombinasies.
Jy kan nie net karakters lys nie, maar ook
karaktergroepe skep deur 'n koppelteken tussen twee karakters
te plaas. Byvoorbeeld, soos volg: [a-d] -
kry ons alle karakters van 'a' tot
'd'.
Kom ons kyk na voorbeelde.
Voorbeeld
In hierdie voorbeeld lyk die soekpatroon so:
tussen x's enige letter van 'a'
tot 'z':
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
As gevolg sal die volgende in die veranderlike geskryf word:
'! ! ! x@x'
Voorbeeld
In hierdie voorbeeld lyk die soekpatroon so:
tussen x's enige letter van 'a'
tot 'k':
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
As gevolg sal die volgende in die veranderlike geskryf word:
'! ! xmx x@x'
Voorbeeld
In hierdie voorbeeld lyk die soekpatroon so:
tussen x's enige letter van 'A'
tot 'Z':
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
As gevolg sal die volgende in die veranderlike geskryf word:
'xax ! xcx x@x'
Voorbeeld
In hierdie voorbeeld lyk die soekpatroon so:
tussen x's enige syfer van 0 tot 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
As gevolg sal die volgende in die veranderlike geskryf word:
'xax ! ! ! x@x'
Voorbeeld
In hierdie voorbeeld lyk die soekpatroon so:
tussen x's enige syfer van 3 tot 7:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');
As gevolg sal die volgende in die veranderlike geskryf word:
'xax x1x ! ! x@x'
Voorbeeld
In hierdie voorbeeld lyk die soekpatroon so:
tussen x's enige letter van 'a'
tot 'z' of syfer van 1 tot 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
As gevolg sal die volgende in die veranderlike geskryf word:
'! ! ! ! x@x'
Voorbeeld
In hierdie voorbeeld lyk die soekpatroon so:
tussen x's enige letter van 'a'
tot 'z' of letter van 'A' tot
'Z':
let str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');
As gevolg sal die volgende in die veranderlike geskryf word:
'! ! ! x5x x@x'
Voorbeeld
In hierdie voorbeeld lyk die soekpatroon so:
tussen x's enige letter van 'a'
tot 'z' of syfers 1, 2:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
As gevolg sal die volgende in die veranderlike geskryf word:
'! ! ! ! x3x'
Voorbeeld
In hierdie voorbeeld lyk die soekpatroon so:
tussen x's letters van 'a' tot 'z'
in hoeveelheid van 1 en meer:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');
As gevolg sal die volgende in die veranderlike geskryf word:
'xx ! ! ! x123x xa3x'
Voorbeeld
Laat ons dit so maak dat die hoeveelheid letters ook nul kan wees:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');
As gevolg sal die volgende in die veranderlike geskryf word:
'! ! ! ! x123x xa3x'
Praktiese take
Gegee 'n string:
let str = 'aba aea aca aza axa';
Skryf 'n regulêre uitdrukking wat vind volgens die volgende
patroon: aan die kante is daar letters 'a',
en tussen hulle - letter 'b', 'e'
of 'x'.
Gegee 'n string:
let str = 'a1a a3a a7a a9a aba';
Skryf 'n regulêre uitdrukking wat vind volgens die volgende
patroon: aan die kante is daar letters 'a',
en tussen hulle - syfer van 3-de tot 6-de.
Gegee 'n string:
let str = 'aba aea afa aha aga';
Skryf 'n regulêre uitdrukking wat vind volgens die volgende
patroon: aan die kante is daar letters 'a',
en tussen hulle - letter van a tot g.
Gegee 'n string:
let str = 'aba aea afa aha aga';
Skryf 'n regulêre uitdrukking wat vind volgens die volgende
patroon: aan die kante is daar letters 'a',
en tussen hulle - letter van a tot f en van j tot z.
Gegee 'n string:
let str = 'aAa aea aEa aJa a3a';
Skryf 'n regulêre uitdrukking wat vind volgens die volgende
patroon: aan die kante is daar letters 'a',
en tussen hulle - letter van a tot f en van A tot D.
Gegee 'n string:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Skryf 'n regulêre uitdrukking wat vind volgens die volgende
patroon: aan die kante is daar letters 'a',
en tussen hulle - klein Latynse letters,
sonder om die ander te raak.
Gegee 'n string:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Skryf 'n regulêre uitdrukking wat vind volgens die volgende
patroon: aan die kante is daar letters 'a',
en tussen hulle - klein en groot Latynse
letters, sonder om die ander te raak.
Gegee 'n string:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Skryf 'n regulêre uitdrukking wat vind volgens die volgende
patroon: aan die kante is daar letters 'a',
en tussen hulle - klein Latynse letters
en syfers, sonder om die ander te raak.