%r{егекспы}

August 11, 2016

Недавно в канал коллега скинул ссылку 5 Tips for Writing a Legible Regexp.

Лично мне кажется, что регекспы созданы для того, чтобы их только писать, читать их невозможно, как ни старайся. Однако совет про %r{http://...} понравился, я использовал его в тот день для парсинга ссылок в тексте.

Зачем мне понадобилось парсить ссылки? О, это вообще другая история. У нас несколько десятков репозитариев, я слежу, чтобы они все были перечислены на главной странице в вики, сгруппированные по проектам, чтобы в случае чего было понятно к кому обратиться с вопросом. Простой скрипт на руби сравнивает список ссылок на странице с репозитариями в гитхабе и выдает разницу если она есть.

Однако %r{} не единственная хитрость, которую стоит попробовать. В руби вообще на мой вкус самый дружелюбный синтаксис, среди всех языков, которые встречал. %w[word1 word2], system %(ssh alex@host 'grep "foo" /var/log/bar.log'), return unless ... и кучу других маленьких удобных приемов я использую каждый день.

comments powered by Disqus