логотип 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() необходимо уверенное знание регулярных выражений. Если вы хотите детальнее погрузиться в мир регулярных выражений и научиться эффективно использовать их в JavaScript — приходите на наш большой курс JavaScript с нуля. На курсе 198 уроков и 30 упражнений, AI-тренажеры для безлимитной практики с кодом и задачами 24/7, решение задач с живым ревью наставника, еженедельные встречи с менторами.

Синтаксис 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, используя синтаксис, как показано выше.

Освоив метод match(), вы сможете с легкостью извлекать информацию из текста, используя регулярные выражения. Однако, чтобы полностью раскрыть свой потенциал как JavaScript разработчика, вам потребуется освоить и другие навыки, такие как работа с DOM, асинхронным кодом и базами данных. На курсе JavaScript с нуля вы получите все необходимые знания и навыки для достижения ваших целей. В первых 3 модулях уже доступно бесплатное содержание — начните погружаться в JavaScript прямо сегодня.

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

Постройте личный план изучения Javascript до уровня Middle — бесплатно!

Javascript — часть карты развития Frontend

  • step100+ шагов развития
  • lessons30 бесплатных лекций
  • lessons300 бонусных рублей на счет

Бесплатные лекции

Все гайды по 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Событийная модель Event в JavaScriptОбъект события Event в JavaScriptСобытие DOMContentLoaded в JavaScriptСобытие dblclick в JavaScriptСобытие click в JavaScriptСобытие change в JavaScriptСобытие beforeunload в JavaScriptСобытие input в 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
Открыть базу знаний

Лучшие курсы по теме

изображение курса

Основы JavaScript

Антон Ларичев
AI-тренажеры
Практика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.8
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

TypeScript с нуля

Антон Ларичев
AI-тренажеры
Практика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.7
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

Next.js - с нуля

Антон Ларичев
AI-тренажеры
Практика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.7
3 999 ₽ 6 990 ₽
Подробнее

Отправить комментарий