JavaScript метод match()
JavaScript StringОпределение и применение
JavaScript метод match() производит поиск по заданной строке с использованием регулярного выражения (глобальный объект RegExp) и возвращает массив, содержащий результаты этого поиска.
Обращаю Ваше внимание, что eсли для регулярного выражения используется глобальный флаг g (global match flag), то метод возвращает массив всех найденных соответствий, которые присутствуют в строке. Если флаг g не используется, то метод match() ищет только первое совпадение и возвращает массив, первый элемент этого массива будет соответствовать найденной подстроке, а все ставшиеся элементы представляют собой подвыражения регулярного выражения, а именно:
- Свойство groups содержит массив именованных групп или значение undefined, если именованные группы не были определены.
- Свойство index массива указывает на начальную позицию по которой было найдено совпадение внутри строки.
- Свойство input содержит копию строки по которой происходит поиск (содержит ссылку на саму строку).
Если соответствие не будет найдено, то метод match() вернет значение null.
Поддержка браузерами
Метод | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|
match() | Да | Да | Да | Да | Да | Да |
JavaScript синтаксис:
string.match(); // возвращает массив с пустой строкой string.match(regexp); regexp - RegExp
Версия JavaScript
1.2Значения параметров
Параметр | Описание |
---|---|
regexp | Объект регулярного выражения. Если передается объект, который не является регулярным выражением, то он неявно преобразуется в регулярное выражение с помощью вызова конструктора new RegExp(regexp). |
Пример использования
const myText = "s7t89ring0"; // инициализируем переменную, содержащую строку const pattern = /\d+/g // cоответствует всем вхождениям одной или более цифр const pattern2 = /\d/g // cоответствует всем вхождениям одной цифры const pattern3 = /\D+/g // cоответствует всем вхождениям одного или более символа, который не является цифрой в базовом латинском алфавите const pattern4 = /\D/g // cоответствует всем вхождениям одного символа, который не является цифрой в базовом латинском алфавите // производим поиск по заданной строке с использованием регулярного выражения const arr = myText.match(pattern); const arr2 = myText.match(pattern2); const arr3 = myText.match(pattern3); const arr4 = myText.match(pattern4); // выводим значение переменных console.log( arr ); // ["7", "89", "0"] console.log( arr2 ); // ["7", "8", "9", "0"] console.log( arr3 ); // ["s", "t", "ring"] console.log( arr4 ); // ["s", "t", "r", "i", "n", "g"]JavaScript String