Javascript String match ()

Metoda JavaScript String match () vrací výsledek shody řetězce s regulárním výrazem.

Syntaxe match()metody je:

 str.match(regexp)

Zde je str řetězec.

match () parametry

match()Metoda bere v:

  • regexp - objekt regulárního výrazu (Argument je implicitně převeden na, RegExppokud se nejedná o RegExpobjekt)

Poznámka: Pokud nezadáte žádné parametry, match()vrátí se ("").

Vrátit hodnotu ze shody ()

  • Vrátí Arrayshodu obsahující jednu položku pro každou shodu.
  • Vrátí se, nullpokud není nalezena shoda.

Příklad 1: Použití 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ýstup

 Výsledek shody / Java /: („Java“, index: 14, vstup: „Učím se JavaScript, ne Java.“, Skupiny: nedefinováno) Výsledek shody / Java / s příznakem g: („Java“, „Java“ )

Zde vidíme, že bez použití gpříznaku získáme pouze první shodu jako výsledek, ale s podrobnými informacemi, jako je index, vstup a skupiny.

Poznámka : Pokud regulární výraz neobsahuje gpříznak, str.match()vrátí pouze první shodu podobnou RegExp.exec(). Vrácená položka bude mít také následující další vlastnosti:

  • groups - Objekt pojmenovaných zachycujících skupin, které mají klíče jako jména a hodnoty jako zachycené zápasy.
  • index - Index vyhledávání, kde byl nalezen výsledek.
  • input - Kopie vyhledávacího řetězce.

Příklad 2: Odpovídající sekce v řetězci

 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ýstup

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

Zde jsme použili regulární výraz, aby odpovídal určité části řetězce. Můžeme také zachytit určité skupiny v zápase pomocí syntaxe, jak je uvedeno výše.

Doporučené čtení: JavaScript String matchAll ()

Zajímavé články...