⊗jsSpREME 124 of 294 menu

Il metodo exec nelle espressioni regolari JavaScript

Il metodo exec esegue una ricerca in una stringa. Il risultato restituito è la sottostringa trovata e i suoi gruppi di cattura. Inoltre, ogni chiamata successiva di questo metodo inizierà la ricerca dal punto in cui è terminata la precedente sottostringa trovata.

Vediamo un esempio. Supponiamo di avere la seguente stringa:

let str = '12 34 56';

Supponiamo di avere la seguente espressione regolare:

let reg = /\d+/g;

Eseguiamo sequenzialmente le chiamate del nostro metodo per la nostra stringa:

let res1 = reg.exec(str); console.log(res1[0]); // 12 let res2 = reg.exec(str); console.log(res2[0]); // 34 let res3 = reg.exec(str); console.log(res3[0]); // 56

Dopo tre chiamate, poiché nella nostra stringa non ci sono più corrispondenze con l'espressione regolare, la chiamata successiva del metodo restituirà null:

let res4 = reg.exec(str); console.log(res4); // null

Questa caratteristica del metodo è comoda da utilizzare in un ciclo:

let str = '12 34 56'; let reg = /\d+/g; let res; while (res = reg.exec(str)) { console.log(res); // [12], [34], [56] }

È possibile trovare non solo la corrispondenza, ma anche scomporla nei gruppi di cattura:

let str = '12 34 56'; let reg = /(\d)(\d)/g; let res; while (res = reg.exec(str)) { console.log(res); // [12, 1, 2], [34, 3, 4], [56, 5, 6] }

Data la seguente stringa:

let str = '12:37:57 15:48:58 17:59:59';

Trova tutte le sottostringhe con l'orario e per ogni corrispondenza scomponi ore, minuti e secondi nei gruppi di cattura.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta