Hvordan søke på en streng ved hjelp av matchmetoden i JavaScript?

Hvordan søke på en streng ved hjelp av matchmetoden i JavaScript?
JavaScript blir et av de mye brukte programmeringsspråkene i hele feltet AAA Quality Web Applications, og dette er på grunn av tilgjengeligheten i nesten alle moderne nettleser. Og det at det er tusenvis av rammer skrevet i JavaScript som lar utviklere fra hele verden utvikle toppnivå, Android og til og med iOS-støttede applikasjoner.

Strengoperasjoner er grunnlaget for mange store og kjente applikasjoner og nettrammer. Fra å sammenligne passord til å sjekke riktig brukernavn, fra å godta en CAPTCHA -kode til å bekrefte en riktig e -postadresse. Alt gjøres ved hjelp av strengoperasjoner. I JavaScript er det mange strengsammenligningsoperasjoner tilgjengelig, men av dem alle er den mest spennende en .kamp() metode.

Det vi skal gjøre er å dekke alt om .kamp() metode og se på en ny metode som ligner på denne også.

Definisjon og bruk

De .kamp() Metode er en funksjon for alle JS -versjoner. Dette .kamp() sammenligner strenger med et vanlig uttrykk (regex). Eller med andre ord, vi kan si at det brukes til å søke i strengobjekter med hvilken som helst regex.

Hvis kampen blir funnet mot regexen, returnerer denne metoden en Array av alle kamper ellers kommer det tilbake NULL.

Syntaks

streng.Match (regexp)

Parametere: Parameteren for denne metoden er en "regexp", som betyr et vanlig uttrykk for å sammenligne med den gitte strengen.

Returverdi: Det vil sammenligne strengen med regexen og returnere en rekke alle kampene den kan finne. Ellers vil den returnere null.

Eksempel:

var String = "Hello World!";
konsoll.Logg (streng.match (/ello/g));

Produksjon:

Den returnerer en rekke av alle kamper av “Ello”I strengvariabelen. Også "g" i koden er en flagg som forteller metoden for å søke etter alle mulige kamper i strengen og ikke stoppe ved første kamp.

Hva er et vanlig uttrykk:

Hvis vi skal definere regelmessige uttrykk i de offisielle ordene til MDN, ville det være:

Mønstrene som brukes til å matche karakterkombinasjoner i strengs ”.

Mønstre kan ikke bare inkludere alfanumeriske tegn, men spesialtegn, forskjellige grupper av grupper og til og med spesialtegn.

For å pakke sammen å definere hva en regex er, kan vi si at det på helt grunnleggende nivå handler om å finne et mønster i en gitt streng. Bruken av denne regexen finner du når vi ønsker å finne et spesifikt tegn fra en streng, eller til og med når vi ønsker å bekrefte at formatet på e-post angitt mens du fyller ut et påloggingsskjema er en faktisk e-postadresse med "@" og “.com ”på slutten.

Ulike matchende modus (flagg)

Den første er (som vist i eksemplet ovenfor) ved å bruke et globalt flagg “G”, som returnerer en rekke strengobjekter.

Kode:

var String = "Hello World!! Hallo!";
konsoll.Logg (streng.match (/ello/g));

Produksjon:

Det neste eksemplet er uten bruk av et globalt flagg:

Kode

var String = "Hello World!! Hallo!";
konsoll.Logg (streng.match (/ello/));

Produksjon

Selv om det er to matchende strenger mot det vanlige uttrykket “/Ello/”, er det .kamp() metoden stopper bare ved første kamp.

Den neste bruker case-ufølsomhetsflagget “Jeg”. Dette flagget ignorerer saksfølsomheten til strengen og prøver å finne kampen ved å vurdere hele strengen og regexen i små bokstaver.

var String = "Hello World!! HALLO! HALLO";
konsoll.Logg (streng.match (/ello/gi));

Produksjon

I matrisen som returneres av .kamp() metode. Vi kan se at den inneholder både små og store bokstaver som matchet regexen.

De .MatchAll () -metode

Vi har lært grundig om .kamp(), Og vi vet at verden stadig utvikler seg i hvert felt, det er verdt å påpeke at .matchall () er også lagt til i den nyere versjonen av JavaScript.

De .matchall () Bruker flagget “G”, som du nå er kjent med (det globale flagget), og returnerer enten en iterator eller en tom matrise:

Eksempel

La regex = /s (h) (ow (\ d?))/g;
La String = "Show1Show2Show3";
La matrise = [... streng.matchall (regex)];
for (la i = 0; i konsoll.logg (matrise [i]);

Merk: Vi brukte en for loop for å skrive ut alle elementene som er til stede i matrisevariabelen.

Produksjon:

Vel, hovedårsaken til å bruke .matchall () Metode kan enkelt sees. Vi kan se dette fra utgangen som det skal brukes til forbedret tilgang til fangstgrupper

Konklusjon

Etter denne opplæringen er du sannsynligvis nå kjent med arbeidet med .kamp() metode, sammen med en grunnleggende forståelse av vanlig uttrykk Og du har også lært om den nylig tilførte metoden som er .matchall () metode.

Dette betyr at du nå har en grunnleggende forståelse av matchende strenger med regex ved bruk av innebygde JavaScript-funksjoner. Disse var ganske grunnleggende og enkle eksempler, men viste likevel formålet og arbeidet med metodene.