Регулярные выражения

Регулярные выражения предназначены для сложного поиска или замены в строке. Использовать регулярные выражения в языке JavaScript позволяет класс RegExp.

Создание шаблона регулярного выражения

Создать шаблон регулярного выражения можно двумя способами:

<Шаблон> = new RegExp(<Регулярное выражение>[, <Модификатор>])
<Шаблон> = /<Регулярное выражение>/[<Модификатор>]

Необязательный параметр <Модификатор> задает дополнительные параметры поиска. Он может содержать следующие символы (или их комбинацию):

  • i — поиск без учета регистра;
  • g — глобальный поиск (поиск всех вхождений регулярного выражения в строке);
  • m — многострочный режим. Символ ^ соответствует началу каждой подстроки, а $ — концу каждой подстроки:
let p = new RegExp('^[0-9]$', 'mg');
let str = '1\n2\n3\nстрока\n4';
let arr = str.match(p);
console.log(arr);            // [ '1', '2', '3', '4' ]
// Преобразование шаблона в строку
console.log( p.toString() ); // /^[0-9]$/gm
  • s — если флаг указан, то метасимвол точка будет соответствовать любому символу, включая символ перевода строки (\n):
let p = /./;
console.log( p.dotAll );     // false
console.log( p.test('\n') ); // false
p = /./s;
console.log( p.dotAll );     // true
console.log( p.test('\n') ); // true
  • u — позволяет использовать внутри строки символы Unicode, состоящие из четырех байтов. Внутри шаблона регулярного выражения можно дополнительно использовать конструкцию \p{...}:
let p = /\p{Letter}+/gu;
let str = 'abc 123 def';
let arr = str.match(p);
console.log(arr);            // [ 'abc', 'def' ]
console.log( p.unicode );    // true

Учебник по Node.js и JavaScript
Учебник по JavaScript (Node.js) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов