Metoden JavaScript String match () returnerer resultatet av å matche en streng mot et vanlig uttrykk.
Syntaksen til match()
metoden er:
str.match(regexp)
Her er str en streng.
match () Parametere
Den match()
metoden tar i:
- regexp - Et objekt med vanlig uttrykk (Argumentet konverteres implisitt til
RegExp
hvis det er et ikke-RegExp
objekt)
Merk: Hvis du ikke gir noen parametere, match()
returnerer ("")
.
Returverdi fra kamp ()
- Returnerer en som
Array
inneholder treffene, ett element for hver kamp. - Returnerer
null
hvis ingen treff blir funnet.
Eksempel 1: Bruke treff ()
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);
Produksjon
Resultat av matching / Java /: ('Java', indeks: 14, input: 'Jeg lærer JavaScript ikke Java.', Grupper: udefinert) Resultat av matching / Java / med g-flagg: ('Java', 'Java' )
Her kan vi se at uten å bruke g
flagget, får vi bare den første kampen som et resultat, men med detaljert informasjon som indeks, input og grupper.
Merk : Hvis det vanlige uttrykket ikke inkluderer g
flagget, str.match()
returnerer bare den første kampen som ligner på RegExp.exec()
. Den returnerte varen vil også ha følgende tilleggsegenskaper:
groups
- Et objekt med navngitte fangegrupper som har nøkler som navnene og verdiene som det fanget samsvarer med.index
- Indeksen for søk der resultatet ble funnet.input
- En kopi av søkestrengen.
Eksempel 2: Matchende seksjoner i streng
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")
Produksjon
('navn er Albert.', 'NAVN er Soyuj.') (navn: "Albert")
Her har vi brukt et vanlig uttrykk for å matche en viss del av strengen. Vi kan også fange visse grupper i kampen ved hjelp av syntaksen som vist ovenfor.
Anbefalt lesing: JavaScript String matchAll ()