Как, наконец, выучить Regex?

0
903
views

Перевод статьи «Step up your Regex game».

Изучение Regex (регулярных выражений) — не фунт изюма. Поначалу это не то чтобы интересно и уж тем более не просто, но это очень важный навык, когда дело касается работы со строками. В этой статье вы найдете советы по изучению Regex, ссылки на руководства и шпаргалки.

Когда я впервые увидел Regex, первое, что я сказал, было «Что это, черт побери, такое?» Я сразу понял, что чтобы написать такое выражение правильно, потребуется некоторое время и предельная концентрация, так что решил отложить это дело «на потом». А потом я все откладывал и откладывал, как-то решая задачи без Regex — аж пока вопрос по регулярным выражениям не встретился мне на техническом собеседовании.

На самом деле Regex очень важны. Причем не только для решения задач, в которых нужно что-то делать со строками. Они также широко используются в текстовых редакторах, для поиска данных, фильтрации результатов, проверки паролей, email-ов и форм. Решая задачи на CodeWars или HackerRank, вы можете вдвое сократить время решения, применив Regex.

В общем, я осознал, насколько это полезная тема, и решил разобраться в регулярных выражениях досконально. Я ведь хотел быть как можно более эффективным и решать задачи не брутфорс-атакой, а по-умному.

Ниже я перечислил способы изучения регулярных выражений, которые мне показались самыми эффективными. Сразу замечу, что если вы хотите научиться писать регулярные выражения, то нужно постоянно практиковаться, без этого никак.

Первые шаги

Вы поняли, что вам нужно изучить Regex, но не знаете, с чего начать?

Шаг 1 — пройдите какое-нибудь обучающее руководство

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

Шаг 2 — практика на CodeWars или HackerRank

Вам нужно немедленно начать использовать регулярные выражения при решении задач, в которых надо работать со строками. Отправляйтесь на CodeWars и HackerRank и начинайте с самого начала. Когда мне нужно изучить что-то новое или освежить что-то в памяти, я создаю себе новые аккаунты на этих сайтах и начинаю с начала.

Отмечу, что очень помогает, когда вы решаете какие-то знакомые задачи или полезные для вас лично.

Я часто создаю новый Repl.it и решаю задачу там, а затем вставляю решение в редактор на HackerRank или CodeWars. Просто вытащите несколько массивов или данные, которые они используют для тестирования, и запустите на них свое решение.

Конечно, помимо Repl.it есть и другие онлайн-редакторы кода, например JS Bin, PlayCode, JS Fiddle — можно пользоваться любым из них.

Вот несколько примеров задач, достаточно простых для использования в них регулярных выражений:

Шаг 3 (опционально) — найдите видео на YouTube, Udemy или других сайтах

Можно подписаться на людей, которые выкладывают материалы по регулярным выражениям. Эти видео будут вас вдохновлять (возможно), а также научат полезным приемам.

Последующие шаги

Итак, вы изучили основы регулярных выражений. Что дальше? Немедленно беритесь за собственные проекты! Единственный способ по-настоящему изучить Regex и впечатать их в память — сразу начать создавать что-нибудь. Причем работать нужно полностью самостоятельно, без руководств и чьей-либо помощи.

Вот пара идей для первых проектов:

  1. Создайте инструмент для тестирования регулярных выражений на строке. Пользователь пишет регулярное выражение, а ваш инструмент подсвечивает ту часть строки, которая совпадает с шаблоном. В качестве результата оценки пускай выдается сообщение «Успех!» или «Провал».
  2. Создайте инструмент поиска с фильтрацией. Возвращаться должны только наборы данных, соответствующие введенной ст роке. Пример — поиск на Netflix или DisneyPlus. Вы вводите слово в окошке поиска и получаете список видео, которые содержат в названии это или похожее слово. Есть тысяча и один способ сделать свой вариант такого функционала.

Полезные инструменты

Продолжайте практиковаться в использовании регулярных выражений. Вот несколько полезных инструментов и ресурсов, которые помогут вам в этом.

Шпаргалки

В шпаргалки можно подглядывать, когда вы занимаетесь своим проектом или решаете задачу и вам нужно быстренько что-то посмотреть.

  • Regex Tutorial. Шпаргалка с примерами использования регулярных выражений от Джонни Фокса.
  • Ultimate Regex Cheatsheet («полная» шпаргалка по регулярным выражениям).

Практика

Практиковаться можно на специальных движках Regex. Они бывают очень полезны, когда нужно написать и проверить регулярное выражение до вставки в код.

Я надеюсь, что эта статья будет вам полезна. Не забывайте, что если у вас возникают трудности в программировании, решение обязательно есть, и вы сможете его найти. Не сдавайтесь и продолжайте развиваться. Также помните о том, что все люди уникальны, как и их подходы к учебе. Вам нужно лишь найти тот, что подойдет именно вам, и дальше все пойдет, как по маслу!

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here