Metoda JavaScript String match () returnează rezultatul potrivirii unui șir cu o expresie regulată.
Sintaxa match()
metodei este:
str.match(regexp)
Aici, str este un șir.
match () Parametri
match()
Metoda ia în:
- regexp - Un obiect de expresie regulată (Argumentul este implicit convertit în
RegExp
dacă este un non-RegExp
obiect)
Notă: dacă nu dați niciun parametru, match()
revine ("")
.
Returnează valoarea din potrivire ()
- Returnează un
Array
conținut de meciuri, câte un articol pentru fiecare meci. - Revine
null
dacă nu se găsește nicio potrivire.
Exemplul 1: Utilizarea meciului ()
const string = "I am learning JavaScript not Java."; const re = /Java/; let result = string.match(re); console.log("Result of matching /Java/ :"); console.log(result); const re1 = /Java/g; let result1 = string.match(re1); console.log("Result of matching /Java/ with g flag:") console.log(result1);
Ieșire
Rezultatul potrivirii / Java /: („Java”, index: 14, intrare: „Învăț JavaScript nu Java.”, Grupuri: nedefinit) Rezultatul potrivirii / Java / cu pavilion g: („Java”, „Java” )
Aici putem vedea că, fără a folosi g
steagul, obținem doar prima potrivire ca rezultat, dar cu informații detaliate, cum ar fi indexul, intrarea și grupurile.
Notă : Dacă expresia regulată nu include g
steagul, str.match()
va reveni doar prima potrivire similară cu RegExp.exec()
. Articolul returnat va avea, de asemenea, următoarele proprietăți suplimentare:
groups
- Un obiect al grupurilor de capturare numite cu chei ca nume și valori ca potriviri capturate.index
- Indexul căutării unde a fost găsit rezultatul.input
- O copie a șirului de căutare.
Exemplul 2: potrivirea secțiunilor în șir
const string = "My name is Albert. YOUR NAME is Soyuj."; // expression matches case-insensitive "name is"+ any alphabets till period (.) const re = /namesiss(a-zA-Z)+./gi; let result = string.match(re); console.log(result); // ( 'name is Albert.', 'NAME is Soyuj.' ) // using named capturing groups const re1 = /namesiss(?(a-zA-Z)+)./i; let found = string.match(re1); console.log(found.groups); // (name: "Albert")
Ieșire
(„numele este Albert.”, „NAME este Soyuj.”) (nume: „Albert”)
Aici, am folosit o expresie regulată pentru a se potrivi cu o anumită porțiune a șirului. De asemenea, putem captura anumite grupuri din meci folosind sintaxa așa cum se arată mai sus.
Lectură recomandată: JavaScript String matchAll ()