Ce face String.prototype.match
Fără indicatorul g, match returnează prima potrivire, cu grupurile ei și proprietățile index și groups (la fel ca exec). Cu g, returnează un tablou cu toate textele potrivite, fără grupuri.
Dacă nu găsește nimic, returnează null, nu un tablou gol.
Parametri
| Parametru | Descriere |
|---|---|
expresieRegulata |
Un obiect RegExp (un text simplu este transformat în expresie regulată). |
Ce returnează
Un tablou cu potrivirile sau null.
Exemple
Exemplul 1: Toate numerele dintr-un text
const text = "3 kg mere, 12 ouă și 2 pâini";
console.log(text.match(/\d+/g));
console.log(text.match(/\d+/g).map(Number));
Rezultat
[ '3', '12', '2' ]
[ 3, 12, 2 ]
Exemplul 2: Prima potrivire, cu grupuri cu nume
const data = "Termen: 25.12.2026";
const rezultat = data.match(/(?<zi>\d{2})\.(?<luna>\d{2})\.(?<an>\d{4})/);
console.log(rezultat[0]);
console.log(rezultat.index);
console.log(rezultat.groups.an, rezultat.groups.luna, rezultat.groups.zi);
Rezultat
25.12.2026
8
2026 12 25
Exemplul 3: Nicio potrivire
const potriviri = "fără cifre".match(/\d+/g);
console.log(potriviri);
console.log((potriviri ?? []).length);
Rezultat
null
0
Greșeli frecvente
- Citești
.lengthdirect din rezultat. Când nu există potriviri,matchdănullși primeștiTypeError. Scrie(sir.match(re) ?? []).length. - Ai nevoie de grupuri pentru toate potrivirile și folosești
matchcug, care le pierde. FoloseștematchAll.
Comenzi înrudite
String.prototype.matchAll: Returnează toate potrivirile unei expresii regulate, fiecare cu grupurile și poziția ei.RegExp.prototype.exec: Caută următoarea potrivire a unei expresii regulate și o returnează cu grupuri și poziție.RegExp.prototype.test: Verifică dacă un text se potrivește cu o expresie regulată și returnează true sau false.