⊗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šuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј