логотип PurpleSchool
логотип PurpleSchool

Как работает метод match() - JavaScript

Автор

Виталий Котов

Метод match() возвращает результат сопоставления строки с регулярным выражением.

const message = "JavaScript is a fun programming language.";

// регулярное выражение, которое проверяет, содержит ли сообщение «programming»
const exp = /programming/;

// проверка, присутствует ли exp в message
let result = message.match(exp);
console.log(result);

/*
Вывод в консоль: [
  'programming',
  index: 20,
  input: 'JavaScript is a fun programming language.',
  groups: undefined
  ]
*/

Синтаксис 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("Результат сопоставления /Java/ :");
console.log(result);

const re1 = /Java/g;
let result1 = string.match(re1);

console.log("Результат сопоставления /Java/ с флагом g:");
console.log(result1);

Вывод в консоль:

Результат сопоставления /Java/ :
[
  'Java',
  index: 14,
  input: 'I am learning JavaScript not Java.',
  groups: undefined
]
Результат сопоставления /Java/ с флагом g:
[ 'Java', 'Java' ]

Здесь мы видим, что без использования флага g мы получаем в качестве результата только первое совпадение, но с подробной информацией, такой как индекс, вход и группы.

Примечание: если регулярное выражение не включает флаг g, str.match() вернет только первое совпадение, аналогично RegExp.exec(). Возвращаемый элемент также будет иметь следующие дополнительные свойства:

  • groups
    • объект именованных групп захвата, ключами которых являются имена, а значениями - полученные совпадения.
  • index
    • индекс поиска, в котором был найден результат.
  • input
    • копия строки поиска.

Пример 2: Совпадающие разделы в строке

const string = "My name is Albert. YOUR NAME is Soyuj.";

// выражение соответствует регистронезависимому "name is"+ любые буквы до точки (.)
const re = /name\sis\s[a-zA-Z]+\./gi;

let result = string.match(re);
console.log(result); // [ 'name is Albert.', 'NAME is Soyuj.' ]

// использование именованных групп захвата
const re1 = /name\sis\s(?<name>[a-zA-Z]+)\./i;
let found = string.match(re1);

console.log(found.groups); // {name: "Albert"}

Вывод в консоль:

[ 'name is Albert.', 'NAME is Soyuj.' ]
{name: "Albert"}

Здесь мы использовали регулярное выражение для сопоставления определенной части строки. Мы также можем перехватить определенные группы в match, используя синтаксис, как показано выше.

Стрелочка влевоКак работает метод matchAll() - JavaScriptКак работает метод localeCompare() - JavaScriptСтрелочка вправо

Все гайды по Javascript

Как работает метод trim() - JavaScriptКак работает метод toUpperCase() - JavaScriptКак работает метод toLowerCase() - JavaScriptКак работает метод substring() - JavaScriptКак работает метод startsWith() - JavaScriptКак работает метод split() - JavaScriptКак работает метод slice() - JavaScriptКак работает метод search() - JavaScriptКак работает метод replaceAll() - JavaScriptКак работает метод replace() - JavaScriptКак работает метод repeat() - JavaScriptКак работает метод padStart() - JavaScriptКак работает метод padEnd() - JavaScriptКак работает метод matchAll() - JavaScriptКак работает метод match() - JavaScriptКак работает метод localeCompare() - JavaScriptКак работает свойство length - JavaScriptКак работает метод lastIndexOf() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод fromCodePoint() - JavaScriptКак работает метод fromCharCode() - JavaScriptКак работает метод endsWith() - JavaScriptКак работает метод concat() - JavaScriptКак работает метод codePointAt() - JavaScriptКак работает метод charCodeAt() - JavaScriptКак работает метод charAt() - JavaScript
Итератор в JavaScript
try...catch в JavaScriptError в JavaScript
Событие wheel в JavaScriptСобытие unload в JavaScriptСобытие touch в JavaScriptСобытие submit в JavaScriptСобытие scroll в JavaScriptСобытие reset в JavaScriptМетод .preventDefault() в JavaScriptСобытие mouseover в JavaScriptСобытие mouseout в JavaScriptСобытие load в JavaScriptСобытие keyup в JavaScriptСобытие keydown в JavaScriptСобытие invalid в JavaScriptСобытие input в JavaScriptСобытийная модель Event в JavaScriptОбъект события Event в JavaScriptСобытие DOMContentLoaded в JavaScriptСобытие dblclick в JavaScriptСобытие click в JavaScriptСобытие change в JavaScriptСобытие beforeunload в JavaScript
Как работает метод some() - JavaScriptКак работает метод reverse() - JavaScriptКак работает метод reduce() - JavaScriptКак работает метод map() - JavaScriptКак работает метод isArray() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод from() - JavaScriptКак работает метод forEach() - JavaScriptКак работает метод flatMap() - JavaScriptКак работает метод flat() - JavaScriptКак работает метод findIndex() - JavaScriptКак работает метод find() - JavaScriptКак работает метод filter() - JavaScriptКак работает метод every() - JavaScriptМассивы в JavaScript
Открыть базу знаний