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:

javascript'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:

javascript'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':

javascript'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:

javascript'aab'.replace(/a/,  '!'); // itarudisha '!ab'

Sasa semi ya kawaida itapata lingano zote:

javascript'aab'.replace(/a/g, '!'); // itarudisha '!!b'
Задание 1

Imepewa mfuatano:

javascriptlet 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'.

Задание 2

Imepewa mfuatano:

javascriptlet 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'.

Задание 3

Imepewa mfuatano:

javascriptlet str = 'aba aca aea abba adca abea';

Andika semi ya kawaida, ambayo itapata mifuatano 'abba' na 'abea', bila kukamata 'adca'.