Соответствие строки Javascript ()

Метод JavaScript String 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("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.', Группы: 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."; // 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 String matchAll ()

Интересные статьи...