Utangulizi wa Semi za Kawaida katika JavaScript
Semi za kawaida ni amri za utafutaji na ubadilishaji ngumu (au tu utafutaji). Zinaruhusu kufanya mambo ya kuvutia sana, lakini, kwa bahati mbaya, ni ngumu kuzijua.
Kuna njia kadhaa za JavaScript za
kufanya kazi na semi za kawaida. Tutaanza
kuzifahamisha kwa kutumia mfano wa replace
- tayari unafahamu mbinu hii: inachukua kigezo cha kwanza
cha nini kubadilisha, na cha pili
- cha nini kubadilisha. Na mbinu yenyewe inatumika
kwa mfuatano ambao ubadilishaji unafanywa:
'bab'.replace('a', '!'); // itarudisha 'b!b'
Kigezo cha kwanza cha mbinu hii kinaweza kupitishwa
sio tu mfuatano, bali semi ya kawaida.
Semi ya kawaida inawakilisha seti
ya amri, zilizowekwa ndani ya mikwaju /. Hii
mikwaju inaitwa vikomo vya semi za
kawaida.
Semi za kawaida zenyewe zinajumuisha aina mbili za herufi: kutoka kwa zile zinazoonyesha wenyewe na kutoka kwa herufi-amri, ambazo huitwa herufi maalum.
Herufi na nambari huonyesha wenyewe. Katika ifuatayo
mfano tutabadilisha herufi 'a' kuwa ! kwa kutumia semi ya kawaida:
'bab'.replace(/a/, '!'); // itarudisha 'b!b'
Lakini nukta ni herufi maalum
na inaashiria herufi yoyote. Katika ifuatayo
mfano tutapata mfuatano kwa kutumia muundo huu:
herufi 'x', kisha herufi yoyote, kisha
tena herufi 'x':
'xax eee'.replace(/x.x/, '!'); // itarudisha '! eee'
Baada ya vikomo unaweza kuandika virekebishaji
- amri, ambazo hubadilisha sifa za jumla
za semi ya kawaida. Kwa mfano, kirekebishaji
g huwezesha hali ya utafutaji wa ulimwengu wote
na ubadilishaji - bila hayo semi ya kawaida hutafuta tu
lingano la kwanza, lakini kwa hilo - lingano zote.
Katika mfano ufuatao hakijaonyeshwa kirekebishaji
g na semi ya kawaida itapata tu lingano la kwanza:
'aab'.replace(/a/, '!'); // itarudisha '!ab'
Sasa semi ya kawaida itapata lingano zote:
'aab'.replace(/a/g, '!'); // itarudisha '!!b'
Imepewa mfuatano:
let str = 'ahb acb aeb aeeb adcb axeb';
Andika semi ya kawaida, ambayo itapata mifuatano
'ahb', 'acb', 'aeb'
kwa muundo: herufi 'a', herufi yoyote,
herufi 'b'.
Imepewa mfuatano:
let str = 'aba aca aea abba adca abea';
Andika semi ya kawaida, ambayo itapata mifuatano
'abba', 'adca', 'abea'
kwa muundo: herufi 'a', 2
herufi zozote, herufi 'a'.
Imepewa mfuatano:
let str = 'aba aca aea abba adca abea';
Andika semi ya kawaida, ambayo itapata mifuatano
'abba' na 'abea', bila kukamata
'adca'.