Как стать автором
Обновить

Комментарии 10

Великолепная статья. Еще было бы неплохо написать про «темную» сторону regexp (backtracking) и про полезные инструменты для создания:
1) RegexBuddy — отлично подходит для отладки и оптимизации выражений.
2) Графический онлайн визуализатор выражений
Еще было бы неплохо написать про ...
Это перевод.
Извините, конечно, но я не знал. Слово перевод встречается на данной странице в двух случаях: «перевод строки» и в комментариях.
Как всегда в коррупционных схемах. Ну вот обязательно найдётся один или несколько, кто ничего не знал.
НЛО прилетело и опубликовало эту надпись здесь
Вот эта фраза про «теперь у вас две проблемы» — реально уже достала. И да, регэкспы — это для адекватного программера -Must Know. А также ИМХО еще одно из того, о чем писал Джоэл (имея в виду C, указатели и арифметику указателей): «К сожалению, у большинства людей отсутствует некий отдел мозга, отвечающий за понимание указателей, а тем более арифметических операций с ними». К чему я это? С регэкспами так же.
Много реализаций регэкспов (например, в Java) таковы, что пользоваться ими серьезно нельзя. И вот это надо понимать начинающему программисту регэкспов.
Я бы сказал, что в JavaScript реализация такова, что для сложной обработки текста ей пользоваться невозможно. Ни именованных групп, ни комментариев, ни «расширенного» синтаксиса, да что там — банального look-behind нет. Закономерно, что на выходе write-only код и юмор про «теперь две проблемы».
Регэкспы, как и любой сложный инструмент, уместны в меру. Подход «нафиг мне изучать ваш экскаватор, я тут лопатой за 2 часа всё поправлю» порождает кучу if-ок и «лапшичный» код.

А расширенный синтакис и look-behind, да, повышает вашу job-security.
Очень хорошая и полезная статья.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории