Пример регулярного выражения:
/^\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 - Все, кроме букв латинского алфавита, цифр и нижнего подчеркивания.