Amri 'au' katika Semi za Kawaida za JavaScript

Katika somo hili tutachambua amri '|', ambayo inawakilisha toleo lenye nguvu zaidi la 'au' ikilinganishwa na amri [ ]. Amri hii inaruhusu kugawanya semi ya kawaida katika sehemu kadhaa. Wakati huo huo, kitu kinachotafutwa kinaweza kukidhi ama sehemu moja ya semi ya kawaida, ama sehemu nyingine. Hebu tuangalie kwa mifano.

Mfano

Katika mfano huu, muundo wa utafutaji ni: herufi tatu 'a' au herufi tatu 'b':

javascriptlet str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');

Matokeo yake, kwenye kibadilishaji kitaandikwa yafuatayo:

javascript'! ! abb'

Mfano

Katika mfano huu, muundo wa utafutaji ni: herufi tatu 'a' au kuanzia 1 na zaidi ya herufi 'b':

javascriptlet str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');

Matokeo yake, kwenye kibadilishaji kitaandikwa yafuatayo:

javascript'! ! ! ! axx'

Mfano

Katika mfano huu, muundo wa utafutaji ni: herufi moja au zaidi au tarakimu tatu:

javascriptlet str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');

Matokeo yake, kwenye kibadilishaji kitaandikwa yafuatayo:

javascript'! ! ! 1 12 !'

Mfano

Mstari wima unaweza kugawanya semi ya kawaida si katika sehemu mbili tu, bali katika idadi yoyote ya sehemu:

javascriptlet str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');

Matokeo yake, kwenye kibadilishaji kitaandikwa yafuatayo:

javascript'! ! ! ddd'

Mfano

Ikiwa mstari wima uko ndani ya mabano ya duara, basi 'au' inafanya kazi ndani tu ya mabano hayo.

Kwa mfano, hebu tutafute masharti kulingana na muundo ufuatayo: mwanzoni kuna ama 'a', ama 'b' mara moja au zaidi, kisha herufi mbili 'x':

javascriptlet str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');

Matokeo yake, kwenye kibadilishaji kitaandikwa yafuatayo:

javascript'! ! ! exx'

Kazi za Vitendo

Задание 1

Kuna kifupi:

javascriptlet str = 'aeeea aeea aea axa axxa axxxa';

Andika semi ya kawaida, ambayo itapata masharti kwa muundo: pembeni kuna herufi 'a', na kati yao - ama herufi 'e' idadi yoyote ya mara au herufi 'x' idadi yoyote ya mara.

Задание 2

Kuna kifupi:

javascriptlet str = 'aeeea aeea aea axa axxa axxxa';

Andika semi ya kawaida, ambayo itapata masharti kwa muundo: pembeni kuna herufi 'a', na kati yao - ama herufi 'e' mara mbili au herufi 'x' idadi yoyote ya mara.