Привет! Вчера я начал рассказывать про регулярные выражения и показал тебе вот такой пример: [a-z]+, которое означает, что мы ищем любую букву от a до z ([a-z]), при том таких символов должно быть 1 или более (+).
Давай я расскажу про остальные классы символов, которые можно использовать в таких диапазонах:
- a-z мы с тобой уже знаем, но я не упоминал, что a-z и A-Z - это два разных диапазона значений и либо мы указываем оба (если ищем и прописные и заглавные буквы) или используем специальный флаг игнорирования регистра букв, про которые я расскажу позднее. Кстати, многие языки разделяют a-z и а-я, то есть латиница и кириллица ищется отдельно друг от друга.
- \w - означает то же самое, что и предыдущий пункт, просто запись покороче, кстати, у этого символа есть противоположный - \W (большая W), означающая все что угодно, но не букву
- 0-9 - ну тут все просто: любая цифра в нужном диапазоне (в моем примере - от 0 до 9, то есть вообще любая цифра)
- \d - аналогично предыдущему пункту, так же как и у \w есть противоположность в виде \D
- \s - любой пробельный, непечатный символ: пробел, табуляция, перенос строки и так далее, тоже есть \S, кстати, для переноса строки есть отдельный символ: \n
В принципе, это все классы символов, давай перейдем ко второй части - квантификаторы:
- уже нам известен, означает 1 и более символов
- {x, y} - в фигурных скобках пишется диапазон количества символов, например, если я ожидаю от 1 до 3, например, букв латинского алфавита, я пишу: [a-z]{1,3}. Помимо этого мы можем опустить любую из частей {,3} - от 0 до 3, {3,} - 3 и более
- Жадный поиск, его мы разберем отдельно, пока что тебе надо знать только что, что его квантификаторами являются “*” и “?”.
Сегодня домашнее задание или просто “на подумать”: что я пытаюсь проверить следующим регулярным выражением?
\d{1,2}\.\d{1,2}\.\d{4}
Пиши в комментах свои варианты того, что проверяется этим выражением! А может быть его можно улучшить? (Да) Обязательно пиши способы улучшения проверки? они точно есть. В следующем посте я расскажу правильный ответ и дам рацепт на все случаи жизни, который делает железную проверку этого самого загаданного. Поэтому чтобы не пропустить - подписывайся и друзьям ссылку скидывай!