Метод JavaScript String match () повертає результат зіставлення рядка з регулярним виразом.
Синтаксис match()
методу:
str.match(regexp)
Тут str є рядком.
Параметри match ()
match()
Метод приймає в:
- regexp - об'єкт регулярного виразу (аргумент неявно перетворюється,
RegExp
якщо він не єRegExp
об'єктом)
Примітка: Якщо ви не вказали жодних параметрів, 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")
Вихідні дані
('ім'я - Альберт.', 'ІМ'Я - Союдж.') (ім'я: "Альберт")
Тут ми використали регулярний вираз, який відповідає певній частині рядка. Ми також можемо захопити певні групи в матчі, використовуючи синтаксис, як показано вище.
Рекомендуємо прочитати: Рядок JavaScript matchAll ()