Corrispondenza stringa JavaScript ()

Il metodo JavaScript String match () restituisce il risultato della corrispondenza di una stringa con un'espressione regolare.

La sintassi del match()metodo è:

 str.match(regexp)

Qui str è una stringa.

match () Parametri

Il match()metodo comprende:

  • regexp - Un oggetto espressione regolare (l'argomento viene convertito implicitamente in RegExpse non è un RegExpoggetto)

Nota: se non fornisci alcun parametro, match()restituisce ("").

Valore restituito dalla corrispondenza ()

  • Restituisce un Arrayelemento contenente le corrispondenze, un elemento per ciascuna corrispondenza.
  • Restituisce nullse non viene trovata alcuna corrispondenza.

Esempio 1: utilizzo di match ()

 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);

Produzione

 Risultato della corrispondenza / Java /: ('Java', indice: 14, input: 'Sto imparando JavaScript non Java.', Gruppi: undefined) Risultato della corrispondenza / Java / con flag g: ('Java', 'Java' )

Qui, possiamo vedere che senza utilizzare il gflag, otteniamo solo la prima corrispondenza come risultato ma con informazioni dettagliate come indice, input e gruppi.

Nota : se l'espressione regolare non include il gflag, str.match()restituirà solo la prima corrispondenza simile a RegExp.exec(). L'articolo restituito avrà anche le seguenti proprietà aggiuntive:

  • groups - Un oggetto di gruppi di acquisizione con nome che hanno chiavi come nomi e valori come corrispondenze acquisite.
  • index - L'indice di ricerca in cui è stato trovato il risultato.
  • input - Una copia della stringa di ricerca.

Esempio 2: sezioni corrispondenti nella stringa

 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")

Produzione

 ("name is Albert.", "NAME is Soyuj.") (nome: "Albert")

Qui abbiamo usato un'espressione regolare per trovare una corrispondenza con una certa parte della stringa. Possiamo anche catturare alcuni gruppi nella partita usando la sintassi come mostrato sopra.

Lettura consigliata: JavaScript String matchAll ()

Articoli interessanti...