Стандартные классы. Регулярные выражения

В регулярных выражениях допустимы следующие основные стандартные классы (полный список смотрите в документации):

  • \d — соответствует любой цифре;
  • \w — соответствует любой латинской букве, цифре и знаку подчеркивания ([a-zA-Z0-9_]);
  • \s — любой пробельный символ (пробел, табуляция, перевод страницы, новая строка или перевод каретки);
  • \D — не цифра. Эквивалентно: [^\d];
  • \W — не латинская буква, не цифра и не знак подчеркивания. Эквивалентно: [^\w];
  • \S — не пробельный символ. Эквивалентно: [^\s].
Внимание!

Следует учитывать, что стандартные классы могут зависеть от различных флагов и трактоваться гораздо шире, чем мы указали. В итоге можно получить результат, который совсем не ожидался. Советую на практике использовать только классы \s и \S, а остальные заменять явным указанием диапазона символов внутри квадратных скобок (при этом не забывайте про букву ё):

let p = /[0-9]/g;            // Вместо \d
let str = '10 23 45';
console.log( str.match(p) ); // [ '1', '0', '2', '3', '4', '5' ]
p = /[a-zA-Zа-яА-ЯёЁ0-9_]/g; // Вместо \w
str = 'Z ш Ё_ 0';
console.log( str.match(p) ); // [ 'Z', 'ш', 'Ё', '_', '0' ]

Если нужно получить не цифры по отдельности, а числа, то после закрывающей квадратной скобки следует указать символ +, означающий одно или большее число вхождений символа в строку:

let p = /[0-9]+/g;
let str = '10 23 45';
console.log( str.match(p) ); // [ '10', '23', '45' ]

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

Помощь сайту

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

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