Методът JavaScript String match () връща резултата от съвпадение на низ с регулярен израз.
Синтаксисът на match()
метода е:
str.match(regexp)
Тук str е низ.
Параметри на match ()
В match()
метода се в:
- regexp - Регулярно изразен обект (Аргументът се преобразува имплицитно,
RegExp
ако не еRegExp
обект)
Забележка: Ако не зададете никакви параметри, match()
връща ("")
.
Върната стойност от match ()
- Връща
Array
съдържащо съвпадения, по един елемент за всяко съвпадение. - Връща,
null
ако не е намерено съвпадение.
Пример 1: Използване на 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);
Изход
Резултат от съвпадение / Java /: ('Java', индекс: 14, вход: 'Уча JavaScript, а не Java.', Групи: неопределено) Резултат от съвпадение / Java / с g флаг: ('Java', 'Java' )
Тук можем да видим, че без да използваме g
флага, получаваме само първото съвпадение в резултат, но с подробна информация като индекс, въвеждане и групи.
Забележка : Ако регулярният израз не включва g
флага, str.match()
ще върне само първото съвпадение, подобно на RegExp.exec()
. Върнатият артикул ще има и следните допълнителни свойства:
groups
- Обект от поименни групи за улавяне, които имат ключове като имена и стойности като заснети съвпадения.index
- Индексът на търсене, където е намерен резултатът.input
- Копие на низа за търсене.
Пример 2: Съвпадащи секции в низ
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")
Изход
(„името е Albert.“, „NAME е Soyuj.“) (име: „Albert“)
Тук използвахме регулярен израз, за да съответства на определена част от низа. Също така можем да уловим определени групи в мача, като използваме синтаксиса, както е показано по-горе.
Препоръчително четене: JavaScript String matchAll ()