⊗jsSpREEP 129 of 294 menu

Групи во регуларниот израз во JavaScript

Содржината на групите е достапна не само во низата за замена, туку и во самиот регуларен израз: ние можеме да ставиме нешто во група, а потоа директно во регуларниот израз да кажеме дека овде треба да стои содржината на таа група.

Содржината на групите е достапна преку нивните броеви, пред кои стои обратна коса црта. На пример, првата група ќе биде достапна вака: \1, втората група вака - \2, третата - \3 и така натаму.

Сигурен сум дека сè напишано погоре досега е доста нејасно за вас. Ова не е чудно, бидејќи групите се најмалку разбирливото место кај регуларните изрази. Ајде да разбираме преку примери.

Пример

Нека имаме вакава низа:

let str = 'aa bb cd ef';

Ајде да ги најдеме во неја сите места каде стојат две исти букви една по друга. За решавање на задачата ќе бараме која било буква, ќе ја ставиме во група, а потоа ќе провериме, дали како следен симнал доаѓа содржината на таа група:

let res = str.replace(/([a-z])\1/g, '!');

Како резултат во променливата ќе се запише следново:

'! ! cd ef'

Пример

Нека имаме вакава низа:

let str = 'asxca buzxb csgd';

Ајде да ги најдеме во неја сите зборови во кои првата и последната буква се исти. За решавање на задачата ќе напишеме следна шаблон: буква, пато уште една или повеќе букви, а потоа иста буква како првата:

let res = str.replace(/([a-z])[a-z]+\1/g, '!');

Како резултат во променливата ќе се запише следново:

'! ! csgd'

Практични задачи

Дадена е низа:

let str = 'aaa bbb ccc xyz';

Најдете ги сите поднизи во кои има три исти букви една по друга.

Дадена е низа:

let str = 'a aa aaa aaaa aaaaa';

Најдете ги сите поднизи во кои има две или повеќе исти букви една по друга.

Дадена е низа:

let str = 'aaa aaa bbb bbb ccc ddd';

Најдете ги сите поднизи во кои има два исти зборови еден по друг.

Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј