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ý
RegExp
nie jeRegExp
objektom)
Poznámka: Ak nezadáte žiadne parametre, match()
vráti sa ("")
.
Vrátiť hodnotu zo zhody ()
- Vráti
Array
zhodu obsahujúcu jednu položku pre každú zhodu. - Vráti sa,
null
ak 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 g
vlajky 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 g
prí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 ()