Не могу понять регулярные выражения
От: Mihal9  
Дата: 20.01.23 04:46
Оценка:
Мой самый сильный пробел в программировании — это RegEx. Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!
Есть что почитать (легкое и доступное для понимания)?
Re: Не могу понять регулярные выражения
От: sambl74 Россия  
Дата: 20.01.23 05:05
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Мой самый сильный пробел в программировании — это RegEx. Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!

M>Есть что почитать (легкое и доступное для понимания)?

В проекте недавнем регулярки были не в почёте — потому как типа можно их написать небезопасными. Да и недавно тут напоролся что регулярку надо было пересоздавать перед каждым использованием, ибо иначе она — глючила...

А так вон ресурсов куча — https://regexlearn.com/ru например
Re: Не могу понять регулярные выражения
От: Michael7 Россия  
Дата: 20.01.23 07:28
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Мой самый сильный пробел в программировании — это RegEx. Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!


Регулярные выражения — это шаблон для строк для поиска соответствий этому шаблону. Ну типа как для поиска файлов, например, *.exe — найти все экзешники и т.п. Только синтаксис замороченнее, да.

M>Есть что почитать (легкое и доступное для понимания)?


Дохрена вообще-то литературы. Есть среди нее, так сказать, классика. Вроде Фридл. Дж "Регулярные выражения", валяется много где в сети. По-моему там автор постарался предельно доходчиво разжевать что это такое и с чем едят. Можешь попробовать поискать другие книги. Можно встретить неплохие объяснения в книгах по языку Perl, например, глава "регулярные выражения" в книге Шварц, Кристиансен "Изучаем Perl" — там конечно Perl-специфика, но в свое время мне это очень доходчивым показалось.
Re: Не могу понять регулярные выражения
От: Skorodum Россия  
Дата: 20.01.23 08:53
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Мой самый сильный пробел в программировании — это RegEx. Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!

Так больше и не надо: https://chat.openai.com/chat -> "regex which does X" -> "make tests for this regex"
Счастье! Если объясненье от ИИ непонятно, то можно вставить то, что он сгенерил в объяснялку типу такой.

Если есть проблемы с безопасностью, то лучше писать полноценный парсер.
ai chatgpt
Re: Не могу понять регулярные выражения
От: rudzuk  
Дата: 20.01.23 09:23
Оценка: +4 -1
Здравствуйте, Mihal9, Вы писали:

M> Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!


И никто не может! Нет, штука классная, когда сидишь с мануалом в руках, но когда видишь это в коде, даже своем, через время...
avalon/3.0.2
Re: Не могу понять регулярные выражения
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 20.01.23 10:22
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Мой самый сильный пробел в программировании — это RegEx. Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!

M>Есть что почитать (легкое и доступное для понимания)?

Отличная книга "Классика программирования алгоритмы, языки, автоматы, компиляторы" Мозгового. Там треть посвящена регулярным выражениям и конечным автоматам для парсинга.
Re: Не могу понять регулярные выражения
От: Shmj Ниоткуда  
Дата: 20.01.23 11:49
Оценка: 1 (1)
Здравствуйте, Mihal9, Вы писали:

M>Мой самый сильный пробел в программировании — это RegEx. Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!

M>Есть что почитать (легкое и доступное для понимания)?

Мне само зашло — НЕ подобрать регулярку для текста, как предлагают многие онлайн-помощники регулярок. А наоборот — на основе регулярного выражения вывести рандомные тексты, которые ему соответствуют. Тогда сразу становится понятна суть.

Вот пример такого инструмента: https://onlinetexttools.com/generate-text-from-regex

Просто берете и тыкаете туда регулярки — и смотрите чему они соответствуют. Все просто.
Отредактировано 20.01.2023 11:50 Shmj . Предыдущая версия .
Re: Не могу понять регулярные выражения
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.01.23 11:50
Оценка: +2
Здравствуйте, Mihal9, Вы писали:

M>Мой самый сильный пробел в программировании — это RegEx. Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!

M>Есть что почитать (легкое и доступное для понимания)?

Ну лучше всего понять, что такое регулярные грамматики (по Хомскому) и регулярные конечные автоматы.

Сами по себе regexp-ы — это, всего лишь, довольно неуклюжий синтаксис для записи этих самых регулярных грамматик. Если понимаешь смысл, синтаксис освоить довольно несложно.
Re: Не могу понять регулярные выражения
От: Артём Австралия жж
Дата: 22.01.23 08:20
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Есть что почитать (легкое и доступное для понимания)?


Automata- это обширная и интересная область. FSM, сжатие, NPC в играх, NLP и регулярки.
Re: Не могу понять регулярные выражения
От: Alexander_S_U https://github.com/alexanders-code/cmdxmlinstaller
Дата: 22.01.23 15:52
Оценка:
Здравствуйте, Mihal9, Вы писали:

...
M>Есть что почитать (легкое и доступное для понимания)?

"Регулярные выражения. Сборник рецептов" Ян Гойвертс, Стивен Левитан. В книге разбираются примеры для различных диалектов регулярных выражений

подборка ресурсов для тестирования/проверки Regex free test tools

у Microsoftа хорошая памятка по регуляркам
https://github.com/alexanders-code/cmdxmlinstaller
Re: Не могу понять регулярные выражения
От: student__  
Дата: 22.01.23 18:39
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Мой самый сильный пробел в программировании — это RegEx. Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!

M>Есть что почитать (легкое и доступное для понимания)?

попробуй в гугле "regex for dummies" или в яндексе "регуларные выражения для начинающих"
Re: Не могу понять регулярные выражения
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 23.01.23 12:41
Оценка: :)
Здравствуйте, Mihal9, Вы писали:

M>Мой самый сильный пробел в программировании — это RegEx. Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!

M>Есть что почитать (легкое и доступное для понимания)?

Читать без толку. Как освоить:
1. потратить на написание различных регэкспов несколько месяцев
2. написать движок регэкспов
Re: Не могу понять регулярные выражения
От: Baiker  
Дата: 24.01.23 14:10
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Мой самый сильный пробел в программировании — это RegEx


Ну чё, Михаил, выучил регэкспы-то? Уже три серванта литературы накидали, чё молчишь-то? С такой "теорией" давно можно сесть за диссертацию.

Re: Не могу понять регулярные выражения
От: Igore Россия  
Дата: 24.01.23 15:15
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Мой самый сильный пробел в программировании — это RegEx. Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!

M>Есть что почитать (легкое и доступное для понимания)?
Мне хватило такой вещи http://citforum.ru/internet/articles/regexp_tutorial/ , но к тому времени как я это читал, я был знаком с xpath и простейшими регулярками из django(urls)
Re: Не могу понять регулярные выражения
От: Dym On Россия  
Дата: 24.01.23 16:55
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Есть что почитать (легкое и доступное для понимания)?

Это бесполезно. Нужна конкретная задача, без задачи не получится.

Меня как-то по молодости попросили свести в табличку перечень труб из строительного проекта — текста с вкраплениями наименований страниц на 700, а там знаешь ПЭ 300х3 или ст250/9 и т.п. Проект делали куча народа и каждый писал как привык, типа вроде по госту, но по разному. Поскольку глаз замыливается быстро, пришлось писать регулярку, которая пробегает по тексту и выдирает наименования труб. Вот так и освоил.
Счастье — это Glück!
Re: Не могу понять регулярные выражения
От: Ночной Смотрящий Россия  
Дата: 25.01.23 10:55
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Мой самый сильный пробел в программировании — это RegEx. Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!


Если хочешь просто регексы поковырять и научиться использовать — почитай какой нибудь популярный тьюториал типа такого — https://medium.com/factory-mind/regex-tutorial-a-simple-cheatsheet-by-examples-649dc1c3f285
Если хочешь разобраться как оно работает внутри — изучай алгоритмы построения НКА для регулярных грамматик и, опционально, алгоритм преобразования НКА в ДКА.
https://condor.depaul.edu/ichu/csc416/notes/notes3/nfa/nfa.html
https://www.educative.io/answers/how-to-convert-nfa-to-dfa
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: Не могу понять регулярные выражения
От: Ночной Смотрящий Россия  
Дата: 25.01.23 10:58
Оценка:
Здравствуйте, Michael7, Вы писали:

M>>Мой самый сильный пробел в программировании — это RegEx. Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!

M>Регулярные выражения — это шаблон для строк для поиска соответствий этому шаблону.

Шаблон — слишком обще. Это алгоритм поиска, в этом их и плюс и минус. Плюс в том что очень быстрые и гибкие, минус — многословные и запутанные, порождающие порой очень сложные решения.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: Не могу понять регулярные выражения
От: Michael7 Россия  
Дата: 25.01.23 11:29
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:


НС>Шаблон — слишком обще. Это алгоритм поиска, в этом их и плюс и минус. Плюс в том что очень быстрые и гибкие, минус — многословные и запутанные, порождающие порой очень сложные решения.


Строго формально это действительно алгоритм. Насчет запутанности и сложности я на регулярки смотрю как на средство для облегчения и ускорения программирования. Если в какой-то момент они слишком сложными становятся, это значит, что возможно в данном месте уже лучше будет отдельный парсер написать под задачу.
Re: Не могу понять регулярные выражения
От: gyraboo  
Дата: 25.01.23 11:37
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Мой самый сильный пробел в программировании — это RegEx. Знаю, что регулярные выражения — мощный инструмент, но не могу я понять эту абракадабру!!

M>Есть что почитать (легкое и доступное для понимания)?

Поставь RegexBuddy и играйся с регэкспами, парси ими всё, с чем работаешь. Также в Фаре используй их для поиска или замены, и через годик освоишь, и уже не будешь представлять жизнь без них.
Re[2]: Не могу понять регулярные выражения
От: _NN_ www.nemerleweb.com
Дата: 25.01.23 20:44
Оценка: +1
Здравствуйте, gyraboo, Вы писали:

G>Поставь RegexBuddy и играйся с регэкспами, парси ими всё, с чем работаешь. Также в Фаре используй их для поиска или замены, и через годик освоишь, и уже не будешь представлять жизнь без них.


Можно и бесплатные аналоги как:
Regex Coach

Или
Regex101

А вообще вагон разных утилит для отладки регулярных выражений.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.