Nizi znakov v regularnih izrazih JavaScript
Skupine znakov \d in \w niso
zelo prilagodljive. Celo tako preprosta naloga,
kot je poisci vse črke, ne pa številk -
ne more biti rešena z njimi. Za takšne naloge
je treba uporabiti oglate oklepaje, ki predstavljajo
operacijo 'ali'.
Oglati oklepaji nadomeščajo en znak,
katerega koli od naštetih znotraj. Na primer,
tako: /x[abc]x/ - pravimo, da
ob straneh morajo stati črke x, znotraj
- pa en znak: ali 'a', ali 'b',
ali 'c'.
Za oglatimi oklepaji lahko pišemo operatorje
ponavljanja. Na primer, tako: /x[abc]+x/
- pravimo, da je med x-ji lahko
poljubno število znakov 'a', 'b'
in 'c' - v poljubnih kombinacijah.
Ne morete samo naštevati znakov, ampak lahko ustvarite
skupine znakov tako, da med dva znaka
postavite vezaj. Na primer, tako: [a-d] -
dobimo vse znake od 'a' do
'd'.
Poglejmo si primere.
Primer
V tem primeru je vzorec iskanja takšen:
med x-ji katera koli črka od 'a'
do 'z':
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'! ! ! x@x'
Primer
V tem primeru je vzorec iskanja takšen:
med x-ji katera koli črka od 'a'
do 'k':
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'! ! xmx x@x'
Primer
V tem primeru je vzorec iskanja takšen:
med x-ji katera koli črka od 'A'
do 'Z':
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'xax ! xcx x@x'
Primer
V tem primeru je vzorec iskanja takšen:
med x-ji katera koli številka od 0 do 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'xax ! ! ! x@x'
Primer
V tem primeru je vzorec iskanja takšen:
med x-ji katera koli številka od 3 do 7:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'xax x1x ! ! x@x'
Primer
V tem primeru je vzorec iskanja takšen:
med x-ji katera koli črka od 'a'
do 'z' ali številka od 1 do 9:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'! ! ! ! x@x'
Primer
V tem primeru je vzorec iskanja takšen:
med x-ji katera koli črka od 'a'
do 'z' ali črka od 'A' do
'Z':
let str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'! ! ! x5x x@x'
Primer
V tem primeru je vzorec iskanja takšen:
med x-ji katera koli črka od 'a'
do 'z' ali številki 1, 2:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'! ! ! ! x3x'
Primer
V tem primeru je vzorec iskanja takšen:
med x-ji črke od 'a' do 'z'
v količini od 1 in več:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'xx ! ! ! x123x xa3x'
Primer
Naredimo tako, da je lahko število črk tudi nič:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'! ! ! ! x123x xa3x'
Praktične naloge
Podan niz:
let str = 'aba aea aca aza axa';
Napišite regularni izraz, ki bo poiskal po naslednjem
vzorcu: ob straneh so črke 'a',
med njimi pa - črka 'b', 'e'
ali 'x'.
Podan niz:
let str = 'a1a a3a a7a a9a aba';
Napišite regularni izraz, ki bo poiskal po naslednjem
vzorcu: ob straneh so črke 'a',
med njimi pa - številka od 3-ih do 6-ih.
Podan niz:
let str = 'aba aea afa aha aga';
Napišite regularni izraz, ki bo poiskal po naslednjem
vzorcu: ob straneh so črke 'a',
med njimi pa - črka od a do g.
Podan niz:
let str = 'aba aea afa aha aga';
Napišite regularni izraz, ki bo poiskal po naslednjem
vzorcu: ob straneh so črke 'a',
med njimi pa - črka od a do f in od j do z.
Podan niz:
let str = 'aAa aea aEa aJa a3a';
Napišite regularni izraz, ki bo poiskal po naslednjem
vzorcu: ob straneh so črke 'a',
med njimi pa - črka od a do f in od A do D.
Podan niz:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Napišite regularni izraz, ki bo poiskal po naslednjem
vzorcu: ob straneh so črke 'a',
med njimi pa - male latinične črke,
ne da bi prizadeli ostale.
Podan niz:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Napišite regularni izraz, ki bo poiskal po naslednjem
vzorcu: ob straneh so črke 'a',
med njimi pa - male in velike latinične
črke, ne da bi prizadeli ostale.
Podan niz:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Napišite regularni izraz, ki bo poiskal po naslednjem
vzorcu: ob straneh so črke 'a',
med njimi pa - male latinične črke
in številke, ne da bi prizadeli ostale.