⊗jsSpRERO 97 of 294 menu

Operatori de repetare a caracterelor în regex

Există situații când dorim să indicăm, că un caracter se repetă de un anumit număr de ori. Dacă știm numărul exact de repetări, putem pur și simplu să-l scriem de mai multe ori - /aaaa/. Dar ce facem dacă vrem să spunem așa: repetă unu sau mai multe ori?

Pentru asta există operatori (cuantificatori) de repetare: plus + (unu sau mai multe ori), stea * (zero sau mai multe ori) și întrebare ? (zero sau o dată). Acești operatori acționează asupra caracterului care stă înaintea lor.

Să vedem funcționarea acestor operatori cu exemple.

Exemplu

Să găsim toate subșirurile după șablonul litera 'x', litera 'a' unu sau mai multe ori, litera 'x':

let str = 'xx xax xaax xaaax xbx'; let res = str.replace(/xa+x/g, '!');

În rezultat, în variabilă se va scrie următorul:

'xx ! ! ! xbx'

Exemplu

Să găsim toate subșirurile după șablonul litera 'x', litera 'a' zero sau mai multe ori, litera 'x':

let str = 'xx xax xaax xaaax xbx' let res = str.replace(/xa*x/g, '!');

În rezultat, în variabilă se va scrie următorul:

'! ! ! ! xbx'

Exemplu

Să găsim toate subșirurile după șablonul litera 'x', litera 'a' zero sau o dată, litera 'x':

let str = 'xx xax xaax xbx'; let res = str.replace(/xa?x/g, '!');

În rezultat, în variabilă se va scrie următorul:

'! ! xaax xbx'

Probleme practice

Este dat șirul:

let str = 'aa aba abba abbba abca abea';

Scrieți o expresie regulată care va găsi șirurile 'aba', 'abba', 'abbba' după șablonul: litera 'a', litera 'b' orice număr de ori, litera 'a'.

Este dat șirul:

let str = 'aa aba abba abbba abca abea';

Scrieți o expresie regulată care va găsi șirurile 'aa', 'aba', 'abba', 'abbba' după șablonul: litera 'a', litera 'b' orice număr de ori (inclusiv de zero ori), litera 'a'.

Este dat șirul:

let str = 'aa aba abba abbba abca abea';

Scrieți o expresie regulată care va găsi șirurile 'aa', 'aba' după șablonul: litera 'a', litera 'b' o dată sau de zero ori, litera 'a'.

Este dat șirul:

let str = 'aa aba abba abbba abca abea';

Scrieți o expresie regulată care va găsi șirurile 'aa', 'aba', 'abba', 'abbba', fără a captura 'abca' și 'abea'.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge