Javascript-strengkamp ()

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 RegExphvis det er et ikke- RegExpobjekt)

Merk: Hvis du ikke gir noen parametere, match()returnerer ("").

Returverdi fra kamp ()

  • Returnerer en som Arrayinneholder treffene, ett element for hver kamp.
  • Returnerer nullhvis 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 gflagget, 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 gflagget, 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 ()

Interessante artikler...