Онлайн-курс «Регулярные выражения для фронтендеров»
Онлайн-курс «Регулярные выражения для фронтендеров»Задать вопросНачать
Регулярные выражения помогают быстрее и эффективнее анализировать и искать информацию. В некоторых случаях их использование ускоряет написание кода и увеличивает скорость его работы.
Необходимые знания: JavaScript
В курс включено: регулярные выражения
Гибкие сроки: начинайте прямо сейчас и двигайтесь в комфортном режиме
Находить оптимальные и быстрые пути решения задач
Успешно проходить собеседования в крупные продуктовые компании
Решать cложные задачи правильными методами
Приносить больше пользы продукту
Знание регулярных выражений — необходимый навык для разработчиков с опытом работы более года.
Оставьте email, чтобы получать свежую информацию:
- — даты выхода новых курсов по навыкам с карты компетенций;
- — специальные предложения для практикующих веб-разработчиков;
- — акции и скидки от HTML Academy.
Соглашаюсь на обработку персональных данных и получение рекламных и информационных сообщений в соответствии с «Политикой» и «Пользовательским соглашением».
Спасибо, что подписались!
Ждите новостей — обещаем не спамить.
Что-то пошло не так 🙁 Попробуйте ещё раз
Поиск по строке с плавающими условиями
Валидация данных на формат и значения
Генерация и очистка данных
Задачи по типографике текста
Гибкое редактирование в текстовом редакторе
Работа в командной строке и grep
Разделы построены таким образом, чтобы постепенно усложнять и углублять знания о регулярных выражениях.
Задача — не только научиться писать регулярные выражения, но и правильно и уместно их использовать.
Раздел 1
Узнаем принципы работы регулярных выражений, познакомимся с основными терминами. Разберём механизм движения паттернов и возвраты.
— Основные принципы использования регулярных выражений
— Обзор базового инструментария и примеры использования
— Методы JavaScript для работы с регулярными выражениями
— Базовый синтаксис регулярных выражений
— Таблица метасимволов регулярных выражений для языка JavaScript
Раздел 2
— Понятие символа и набора
— Работа с регистром
— Поиск с помощью символов и наборов
— Практическое задание
Раздел 3
— Разнообразие символьных селекторов и их отличия от символов
— Ограничения символьных селекторов
— Служебные символы
— Универсальный селектор
— Особенность работы в разных операционных системах
— Практическое задание
Раздел 4
— Что такое группировка и как она работает в регулярных выражениях
— Использование круглых и фигурных скобок
— Практическое задание
— Тест по пройденному материалу
Раздел 5
— Понятие квантификаторов
— Жадность и ограничение жадности
— Более глубокое использование регулярных выражений
— Практическое задание: описание уровня игры
— Тест по пройденному материалу
Раздел 6
— Что такое проверки и зачем они нужны
— Понятие и использование модификаторов
— Практическое задание
Раздел 7
— Различия RegExp в JavaScript и серверных языках на базе библиотеки PCRE (Perl Compatible Regular Expression)
— Плюсы и минусы регулярных выражений, скорость работы, обоснованность более точных паттернов
— Регулярные выражения в командной строке, работа с именами файлов
— Регулярные выражения в текстовых редакторах
— Финальный тест
Курс предполагает самостоятельное изучение материала в комфортном для вас режиме. Начать учиться можно прямо сейчас.
Программа разбита на модули, каждый из которых позволяет постепенно осваивать навык от простых основ до сложных тонкостей.
В каждом модуле будет:
Структурированная информация, необходимая для усвоения части навыка
Примеры решения типовых задач, которые помогут понять, как теория превращается в практику
Для самостоятельного закрепления полученной теории. После выполнения каждого задания вы получите пошаговое эталонное решение и сможете сравнить его со своим вариантом.
Для финального закрепления материала. Позволит вам убедиться, что вы всё точно усвоили и можете двигаться дальше.
Вы можете приобрести несколько курсов по выгодной цене.
Навыки на курсах, входящих в пакет, объединены общей тематикой.
Сделано для разработчиков, у которых мало времени на обучение.
Связывает теорию с типовыми задачами на рынке. У вас будет понимание того, где и как применить полученную теорию.
Построена от простого к сложному.
Вы легко погрузитесь в тему, даже если ничего про неё не знали раньше.
Актуальная и обновляемая теория, проверенная рынком. Никакой «воды» — вы получите только необходимые знания.
Поможет вам с ответами на вопросы и углублением знаний.
Хотите освоить конкретный навык, но не знаете как
Не хотите тратить время на поиск актуальной информации по теме
Вам нужна конкретная методика обучения и только необходимая информация
Хотите убедиться, что полученные знания усвоились на практике
9 лет выстраиваем связь с рынком коммерческой разработки. Обучаем начинающих разработчиков и видим, как они становятся опытными специалистами.
Перед запуском курса убеждаемся, что он даёт востребованный профессиональный навык.
Общаемся с сообществом веб-разработчиков и поэтому понимаем, как нужно учить. Максимально сокращаем время от изучения теории до решения типовых задач.
«Изучая материал самостоятельно, я получил теоретические представления о вопросе. Но для решения задач необходимы именно практические знания. И в HTML Academy именно на это ставка. Что ты руками осваиваешь, как работает. Даже если что-то не дочитал».
«Если честно, мне лень искать по всему интернету какие-то статьи, учебники. А тут сразу теория, объяснение, задачи. И я знаю, что я их точно пройду, в отличие от каких-нибудь видеокурсов».
«Материал подан в том формате, в котором его лучше учить. Изучая самостоятельно, мы не всегда понимаем. В голове каша».
«Cамостоятельно всё это изучать можно, но довольно проблематично, потому что информации в интернете много. Она какая-то разрозненная, в некоторых местах противоречивая. А здесь, что мне понравилось, выжимки очень конкретные с объяснениями дают. Направляют куда нужно, дают вектор развития. И постепенно».
«Было ожидание, что будет больше разговорных видео, слушать преподавателя. По многим курсам есть такое в видео-формате. А пришлось читать учебник. Я бы не сказал, что это что-то испортило. Оказалось, что с учебником приятно работать. Думал, что будет сложнее. Оказалось — нет, всё прекрасно».
«Когда находишь правильное решение, и оно работает, ошибок не выдаёт, ты все равно сомневаешься, а правильно ли ты сделал. [На курсе] коллективная работа, авторитетное мнение. Это как компас, ориентир».
«У меня есть мнение, что HTML Academy делает курсы прикладные для специалистов. Что студент выйдет сразу с общим представлением о вопросе, уже имея набор практических решений».
Способы оплаты
Доступ к материалам:
демо, практика, кейсы
Постоянно обновляющийся контент
Комьюнити с авторами и экспертами курса
3 часа персональных консультаций с экспертом
Стоимость
Стоимость в рассрочку на 6 месяцев
Начать
с экспертом
Начать
учиться
python — регулярное выражение отрабатывает онлайн но не работает в интерпретаторе питон
Вопрос задан
Изменён 2 года 1 месяц назад
Просмотрен 244 раза
Почему одно и то же регулярное выражение нормально отрабатывает на сайтах типа pythex. org но все время возвращает пустой список в ходе выполнения программы?
Строка которую пытаюсь парсить:
info = u'\nOutage start time:\r\n 3/23/2017 5:11:12 AM\n\nEstimated restoration time:\n\n\n\n\n\nEstimated customers impacted:\r\n1\n\nReason:\r\n An object has made contact with power lines in your area. SRP crews are working to restore power as quickly as possible.\n\nImpacted area:\r\nS SCHNEPF RD to N QUAIL RUN LN and E JUDD RD to W MAGMA RD\n\n'
Регулярное выражение: (?<=start time:)(.*?)(?=Estimated)
Результат на сайте: 3/23/2017 5:11:12 AM
Результат в интерпретаторе (Python 2.7):
>>> re.findall(r'(?<=start time:)(.*?)(?=Estimated)', info, re.UNICODE) [] >>> re.findall(ur'(?<=start time:)(.*?)(?=Estimated)', info, re.UNICODE) []
- python
- регулярные-выражения
- python-2.7
1
Не хватает re. DOTALL
флага, так как ввод многострочный.
>>> re.findall(ur'(?<=start time:)(.*?)(?=Estimated)', info, re.UNICODE|re.DOTALL) [u'\r\n 3/23/2017 5:11:12 AM\n\n']
Альтернативно, можно явно пробел указать в regex (если нас интересуют только даты, в которых нет перевода строки внутри):
>>> re.findall(ur'(?<=start time:)\s*(.*?)\s*(?=Estimated)', info, re.UNICODE) [u'3/23/2017 5:11:12 AM']
4
Если вы работаете со строками Юникода, необходимо все строки преобразовывать в необходимый вид (либо объявляя строковый литералы с помощью префикса u
, либо используя .decode
/ .encode
).
Рабочий код с использованием вашей строки:
import re info = u'\nOutage start time:\r\n 3/23/2017 5:11:12 AM\n\nEstimated restoration time:\n\n\n\n\n\nEstimated customers impacted:\r\n1\n\nReason:\r\n An object has made contact with power lines in your area. SRP crews are working to restore power as quickly as possible.\n\nImpacted area:\r\nS SCHNEPF RD to N QUAIL RUN LN and E JUDD RD to W MAGMA RD\n\n' print([x.encode('utf8') for x in re.findall(ur'start time:\s*(.*?)\s*Estimated', info)]) # => ['3/23/2017 5:11:12 AM']
8
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Тестер регулярных выражений и отладчик онлайн
Регулярные выражения
- JavascriptPCRE
- флаги
Тестовая строка
Замена
Сохранить это регулярное выражение
Имя:
Описание:
Верхние регулярные выражения
Сопоставить строку, не содержащую строку
Проверить, содержит ли строка только числа
Совпадение с элементами URL
Совпадение с адресом электронной почты
Подтверждение IP-адреса
Совпадение или проверка номера телефона
Совпадение с тегом html
Пустая строка
Совпадение дат (М/Д/ГГ, М/Д/ГГГ, ММ/ДД/ГГ , MM/DD/YYYY)
Проверяет длину номера и не начинается с 0
Не разрешает использование специальных символов
Соответствует действительному имени хоста
Проверяет дату и время
строка между кавычками + вложенные кавычки
Соответствует скобкам
URL-адрес
соответствует широкому диапазону международных номер телефона
Совпадает с IPv6-адресом
проверка электронной почты
RegEx, разрешающий только номер
Шпаргалка
Классы символов | |
---|---|
. | любой символ кроме новой строки |
\ш\д\с | слово, цифра, пробел |
\Ш \Д \С | не слово, цифра, пробел | начало/конец строки |
\б | граница слова |
Экранированные символы | |
\. \*\ | экранированные специальные символы |
\т \н \р | вкладка, перевод строки, возврат каретки |
\u00A9 | Юникод сбежал © |
Группы и поиск | |
(абв) | группа захвата |
\1 | обратная ссылка на группу №1 |
(?:abc) | группа без захвата |
(?=abc) | положительный прогноз |
(?!abc) | отрицательный прогноз |
Квантификаторы и чередование | |
а* а+ а? | 0 или более, 1 или более, 0 или 1 |
а{5} а{2,} | ровно пять, два или больше |
а{1,3} | между одним и тремя |
а+? а{2,}? | соответствует как можно меньшему числу |
аб|кд | соответствует ab или cd |
Regex Tester еще не оптимизирован для мобильных устройств. Вы все еще можете взглянуть, но это может быть немного причудливо.
> Хорошо!
Для проверки регулярных выражений требуется современный браузер. Пожалуйста, обновите браузер до последней версии и повторите попытку.
Если у вас еще нет учетной записи, зарегистрируйтесь сейчас
Присоединяйтесь, чтобы получить доступ к дискуссионным форумам и расширенным функциям сайта.
Спасибо за использование моего инструмента. Если бы вы могли поделиться этим инструментом со своими друзьями, это было бы огромной помощью:
Tweet
Или подпишитесь на нас, чтобы узнать о наших новейших инструментах:
Follow @danstools00
Тестер регулярных выражений и отладчик онлайн
Регулярные выражения
- JavascriptPCRE
- флаги
Тестовая строка
Замена
Сохранить это регулярное выражение
Имя: Описание:Верхние регулярные выражения
Соответствие строке, не содержащей строки
Проверка, содержит ли строка только числа
Сопоставление элементов URL-адреса
Сопоставление адреса электронной почты
Проверка IP-адреса
Сопоставление или проверка номера телефона
Соответствие HTML-тегу
Пустая строка
Соответствие дат (М/Д/ГГ, М/Д/ГГГ, ММ/ДД/ГГ, ММ/ДД/ГГГГ)
Проверяет длину числа и не начинается с 0
Не разрешает специальное Символы
Совпадение с действительным именем хоста
Проверка даты и времени
строка между кавычками + вложенные кавычки
Совпадение скобок
URL-адрес
совпадение с широким диапазоном международных телефонных номеров
Совпадение IPv6-адреса
проверка электронной почты0053
Regex Tester еще не оптимизирован для мобильных устройств.