Zhoda reťazca Javascript ()

Metóda JavaScript String match () vracia výsledok zhody reťazca s regulárnym výrazom.

Syntax match()metódy je:

 str.match(regexp)

Str je reťazec.

parametre zhody ()

match()Metóda berie v:

  • regexp - objekt s regulárnym výrazom (Argument sa implicitne prevedie na objekt, ktorý RegExpnie je RegExpobjektom)

Poznámka: Ak nezadáte žiadne parametre, match()vráti sa ("").

Vrátiť hodnotu zo zhody ()

  • Vráti Arrayzhodu obsahujúcu jednu položku pre každú zhodu.
  • Vráti sa, nullak sa nenájde zhoda.

Príklad 1: Použitie 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);

Výkon

 Výsledok zhody / Java /: ('Java', index: 14, vstup: 'Učím sa JavaScript, nie Java.', Skupiny: nedefinované) Výsledok zhody / Java / s príznakom g: ('Java', 'Java' )

Tu vidíme, že bez použitia gvlajky dostaneme iba prvú zhodu ako výsledok, ale s podrobnými informáciami ako index, vstup a skupiny.

Poznámka : Ak regulárny výraz neobsahuje gpríznak, str.match()vráti iba prvú zhodu podobnú RegExp.exec(). Vrátená položka bude mať aj nasledujúce ďalšie vlastnosti:

  • groups - Objekt pomenovaných skupín zachytávajúcich súbory, ktorých názvy sú kľúčmi a hodnoty ako zachytené zápasy.
  • index - Index vyhľadávania, kde sa našiel výsledok.
  • input - Kópia vyhľadávacieho reťazca.

Príklad 2: Zhoda sekcií v reťazci

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

Výkon

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

Tu sme použili regulárny výraz, ktorý sa zhoduje s určitou časťou reťazca. Môžeme tiež zachytiť určité skupiny v zápase pomocou syntaxe, ako je uvedené vyššie.

Odporúčané čítanie: JavaScript String matchAll ()

Zaujímavé články...