Якщо ви писали програми для парсингу строки, що містить подання даних у певному форматі, розробляли поведінку персонажа або AI для комп'ютерної гри чи GUI форму із різними станами, то ви могли стикнутись із проблемами, коли в коді завелося багато boolean-змінних та складних if-умов, код страшенно заплутаний, а кожна його правка з великою ймовірністю призводить до неочікуваних результатів або помилок, які важко відслідкувати та виправити.
І часто такі проблеми виникають саме у новачків, які не знають, що для реалізації цих типових задач є елегантне рішення: машини станів (state machines)
https://progbase.herokuapp.com/posts/18/teoriya-avtomativ
Регулярні вирази (regular expressions, regex) - один із прикладів реалізації машини станів та надзвичайно корисний інструмент для кожного програміста. Регулярний вираз являє собою строку, що компілюється у машину станів (розпізнавач), і шукає у вхідній строці входження за заданим шаблоном. При цьому шаблонами можна задавати доволі складні конструкції і шукати такі підстроки, як довільний номер телефону, email-адресу, URL, тощо:
https://regexone.com/
Спробувати регулярні вирази онлайн можна тут:
http://regexr.com/
А якщо ви хочете опанувати регулярні вирази like-a-pro, то вам у цьому допоможе книга Дж.Фрідла "Регулярные выражения":
https://drive.google.com/file/d/0B2DT7H96sv8fTWxwRktTYTdIdEE/view?usp=sharing
І часто такі проблеми виникають саме у новачків, які не знають, що для реалізації цих типових задач є елегантне рішення: машини станів (state machines)
https://progbase.herokuapp.com/posts/18/teoriya-avtomativ
Регулярні вирази (regular expressions, regex) - один із прикладів реалізації машини станів та надзвичайно корисний інструмент для кожного програміста. Регулярний вираз являє собою строку, що компілюється у машину станів (розпізнавач), і шукає у вхідній строці входження за заданим шаблоном. При цьому шаблонами можна задавати доволі складні конструкції і шукати такі підстроки, як довільний номер телефону, email-адресу, URL, тощо:
https://regexone.com/
Спробувати регулярні вирази онлайн можна тут:
http://regexr.com/
А якщо ви хочете опанувати регулярні вирази like-a-pro, то вам у цьому допоможе книга Дж.Фрідла "Регулярные выражения":
https://drive.google.com/file/d/0B2DT7H96sv8fTWxwRktTYTdIdEE/view?usp=sharing