JS метод String.match()


Загальний опис

Метод String.prototype.match() використовується для пошуку в рядку з використанням регулярного виразу. Він повертає масив, що містить всі знайдені співпадіння, або null, якщо співпадінь не знайдено. Цей метод є важливим інструментом у роботі з текстовими даними, особливо коли потрібно здійснити складний пошук або екстракцію певних шаблонів з рядка.

Щоб використовувати match(), потрібно викликати його на рядку, передавши як аргумент регулярний вираз. Наприклад:

let text = "Коти і собаки - друзі людини.";
let pattern = /[а-яіїєґ]+/gi;
console.log(text.match(pattern)); // поверне ["Коти", "і", "собаки", "друзі", "людини"]

У цьому прикладі match() шукає всі слова, що складаються з букв українського алфавіту у рядку text та повертає масив цих слів.

Важливою особливістю match() є його поведінка з різними прапорцями регулярних виразів. Наприклад, прапорець g (глобальний пошук) визначає, чи буде метод шукати всі співпадіння або тільки перше. Без прапорця g, match() повертає додаткову інформацію про знайдене співпадіння, таку як індекс та вхідний рядок:

let firstWordPattern = /[а-яіїєґ]+/i;
console.log(text.match(firstWordPattern)); // поверне ["Коти", index: 0, input: "Коти і собаки - друзі людини.", groups: undefined]

Метод match() є незамінним при роботі з текстом у JavaScript, особливо коли необхідно виконати складні пошукові операції або аналіз текстових даних. Використання цього методу дозволяє легко знаходити, перевіряти та екстрактувати інформацію з рядків, зробивши роботу з текстовими даними більш гнучкою та ефективною.

автор: Bond

Порада

Використовуйте String.prototype.match() для пошуку у рядку з допомогою регулярних виразів. Цей метод дозволяє шукати складні шаблони та зразки у тексті, що робить його могутнім інструментом для обробки тексту, такого як валідація електронних адрес або номерів телефонів.

автор: Bond
Нотатка

Метод match() повертає масив, який містить усі збіги. Якщо збігів не знайдено, результатом буде null. Це важливо враховувати при написанні умовних конструкцій, щоб уникнути помилок обробки результату.

автор: Bond
Нотатка

Регулярні вирази в JavaScript можуть містити прапорці, які змінюють поведінку пошуку. Наприклад, прапорець "g" (глобальний пошук) дозволяє знайти всі збіги в рядку, а не лише перший. Важливо розуміти ці прапорці для ефективного використання match().

автор: Bond

Синтаксис

match(regexp)

Параметри

regexp

Регулярний вираз, з яким буде порівнюватися рядок. Це може бути об'єкт регулярного виразу або будь-який об'єкт, що має метод Symbol.match. Використання цього аргументу дозволяє виконувати складний пошук у рядку, включаючи пошук за шаблонами та групами захоплення.

автор: Bond

Повернення

array

Повертає масив, вміст якого залежить від наявності або відсутності глобального прапорця (g) в регулярному виразі, або null, якщо співпадіння не знайдені. Якщо використовується прапорець g, метод повертає усі результати, що відповідають регулярному виразу, але без урахування груп захоплення. Якщо прапорець g не використовується, повертається лише перше повне співпадіння та його пов'язані групи захоплення. У цьому випадку match() повертає такий же результат, як RegExp.prototype.exec(), а саме масив з додатковими властивостями.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 1 4 12 4
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
0.10.0 1.0

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі використовується String.prototype.match() для знаходження всіх слів у рядку. Метод match() приймає регулярний вираз і повертає масив з усіма знайденими співпадіннями. Це простий спосіб вилучити окремі слова з тексту.

// Створюємо рядок для пошуку
let sentence = "JavaScript - це цікаво і корисно!";

// Використовуємо регулярний вираз для знаходження слів
let words = sentence.match(/\b\w+\b/g);

console.log(words); // Виводить: ["JavaScript", "це", "цікаво", "і", "корисно"]
автор: Bond

У цьому прикладі користувачі можуть ввести будь-який текст та регулярний вираз. Після натискання кнопки "Знайти збіги", вони побачать всі збіги у введеному тексті, якщо вони є, або повідомлення про те, що збігів немає, або помилку, якщо регулярний вираз неправильний. Це дасть користувачам наочне уявлення про роботу match() у JavaScript.

автор: Bond

У цьому складнішому прикладі використовується match() для вилучення дати у певному форматі з рядка. Цей метод є особливо корисним для розбору рядків за певним шаблоном, наприклад, при роботі з лог-файлами або обробці користувацького вводу.

// Створюємо рядок з датою
let logEntry = "Помилка: 404; Дата: 13/05/2023; Статус: не знайдено";

// Використовуємо регулярний вираз для знаходження дати
let datePattern = /Дата: (\d{2}\/\d{2}\/\d{4})/;
let dateMatch = logEntry.match(datePattern);

console.log(dateMatch[1]); // Виводить: "13/05/2023"
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід