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

Регулярные выражения - средство для поиска и замены в строке. Регулярное выражение состоит из шаблона и необязательных флагов. Регулярное выражение заключается в слеши (в начале и в конце), заключать в кавычки не надо.
Пример регулярного выражения: /^\s*/ - будет искать один пробел в начале строки. Используя это регулярное выражение можно удалить первый пробел в начале строки, вернее заменить его на "ничего":
variable = variable.replace(/^\s*/, '');


Флаги
После закрывающего слеша можно писать флаги, для более гибкого поиска подстроки. В языке JavaScript имеется три флага:
  • g - Искать все совпадения.
  • i - Регистронезависимый поиск.
  • m - Многострочный режим.

Для примера использования флагов, возьму регулярное выражение написанное выше /^\s*/, такой шаблон, как уже было сказано будет искать только один пробел (первое найденное совпадение), остальные пробелы "ему не нужны". Чтобы искать все пробелы в начале строки добавим флаг g: /^\s*/g:
variable = variable.replace(/^\s*/g, '');

Теперь все пробелы, что имеются в начале строки, будут удалены.

Классы
В регулярных выражениях имеются классы. Класс - это обозначение, которое ищет любой символ из определенной группы символов. Например, из строки: Сегодня 20 число, 6 месяц и 2016 год нам необходимо получить только цифры, для этого мы будем использовать класс \d:
var today = 'Сегодня 10 число, 6 месяц и 2017 год';
alert(today.match(/\d/g));

Результат:
1,0,6,2,0,1,7

В регулярном выражении использовался флаг g по этому сценарий вернул все цифры из строки, если флага не будет, поиск будет выполнятся только первой цифры.
Список классов:
  • \b - Границы между символ. (Пример: \b20\b - найдет 20, не найдет 202).
  • \d - Класс цифр (от 0 до 9).
  • \s - Символ пробела, так же как и переводы строк и табуляция.
  • \w - Класс букв латинского алфавита, цифр и нижнего подчеркивания.

У классов есть обратные классы, так сказать "антиклассы". Обратный класс пишется той же буквой, только заглавной, например, если класс \d - это все цифры, от 0 до 9, то класс \D - это все символы, кроме цифр.
  • \B - Обратная проверка \b.
  • \D - Любые символы, кроме цифр.
  • \S - Любой символ, кроме пробела, перевода строки и табуляции.
  • \W - Все, кроме букв латинского алфавита, цифр и нижнего подчеркивания.
Автор: