логотип PurpleSchool
Иконка входа
Вход
логотип PurpleSchool

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

Автор

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

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

let sentence = "I love JavaScript.";

// шаблон, который ищет первую встречу символа в верхнем регистре
let regExp = /[A-Z]/;

// поиск соответствия между regExp и заданной строкой
let indexReg = sentence.search(regExp);

console.log(indexReg);

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

Синтаксис метода search() следующий:

str.search(regexp);

Где str - это строка.

Метод search() принимает один параметр:

  • regExp
    • объект регулярного выражения (Аргумент неявно преобразуется в regExp, если он не является объектом regExp)
  • Возвращает индекс первого совпадения между регулярным выражением и заданной строкой
  • Возвращает -1, если совпадение не было найдено.

Примеры

// объявление строки
let string1 = "JavaScript JavaScript1";

// шаблон с «JavaScript», за которым следует цифра
let regExp = /(JavaScript)\d/;

// поиск совпадения между regExp и заданной строкой
let index = string1.search(regExp);

console.log(index);

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

11

В приведенном выше примере мы использовали метод search() для поиска соответствия между регулярным выражением и заданной строкой.

Здесь regExp указывает на шаблон, содержащий 'JavaScript', за которым следует цифра.

string1.search(regExp) выполняет поиск и возвращает 11 - значение индекса найденного совпадения, т.е. "JavaScript1".

let string1 = "I love to code in JavaScript.";

// поиск слова "JavaScript" в заданной строке
let index = string1.search("code");

console.log(index);

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

10

В приведенном выше примере мы передали нерегулярное выражение 'code' в метод search().

Метод неявно преобразует 'code' в regExp и выполняет поиск в заданной строке.

string1.search("code") возвращает 10, что является индексом 'code'.

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile