Регулярные выражения. Делимся ссылками на толковые инэт-ресурсы...

iguania
На сайте с 10.12.2010
Offline
72
864

Доброй ночи, уважамые форумчане.

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

Все всегда заканчивается хорошо. Если все закончилось плохо, значит, это еще не конец…
SI
На сайте с 03.12.2007
Offline
130
#1
-= Онлайн сервисы =-
iguania
На сайте с 10.12.2010
Offline
72
#2

Sigmo#ID, хороший ресурс, спасибо...но не тот, который встречал ранее...

Хочу также задать такой вот вопрос к опытным web-программистам: Как вы считаете, насколько хорошо достойный программист должен владеть знаниями в составлении регулярных выражений? Иногда общаясь с некоторыми программистами, узнаю от них, что не все они умеют составлять эти самые выражения...довольно часто прибегая к оперированию стандартными библиотечными функциями для работы со строками, по-моему, это не очень удобно, а иногда, некоторые вещи и вообще довольно сложно реализовать.

O
На сайте с 15.10.2009
Offline
43
#3

Я думаю "регулярки" как минимум на среднем уровне уважающий себя программист обязан знать. Имхо.☝

Программирую на python !!!
Olldman
На сайте с 21.04.2010
Offline
79
#4

http://omsk777.ru/posix.html - есть что почитать.

TF-Studio
На сайте с 17.08.2010
Offline
334
#5

и наоборот, очень много вещей проще реализовать без регулярок...

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
babnicks
На сайте с 23.10.2009
Offline
47
#6
TF-Studio:
и наоборот, очень много вещей проще реализовать без регулярок...

К тому-же многие вещи НАМНОГО быстрее работают без регулярок ;)

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

100% защита от спам-ботов (https://www.keycaptcha.com)
iguania
На сайте с 10.12.2010
Offline
72
#7

Olldman, спасибо за линк, действительно есть что почитать, т.к. все самое важное собрано на одной странице.

babnicks, спасибо за ответ. Не буду спорить на счет скорости, т.к. не знаю многих подробностей, но скажу, что видел сам: иногда мне нужно выполнить поиск по html-странице, найти некоторые изощренные вещи; так вот иногда для этого требуется далеко не одна строка кода, тогда как мой знакомый (он хорошо владеет регулярными выражениями) всегда укладыватеся в одну строку. А вот теперь хотелось бы еще обсудить вопрос скорости. Вот чего-то мне кажется, что те же библиотечный функции (для работы со строками) на более низком уровне также оперируют регулярными выражениями. Возможно, что там они составлены (регулярные выражения) более профессионально...

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

beaware
На сайте с 26.09.2011
Offline
26
#8

По скорости результат более всего зависит от содержимого головы и места из которого растут руки.

Про скорость известно, что:

- есть затраты времени на выполнение

- есть затраты времени на исходную реализацию

- есть затраты времени на поддержку-сопровождение (при последующих модификациях от которых никто не застрахован)

- есть экономия времени от повторного использования кода/найденных решений в других местах/проектах

Т.о. первый пункт - вас только он беспокоит? - напрасно, это еще далеко не все.

По первому пункту известна аксиома, согласно которой на выполнение 20% кода уходит 80% времени работы процесса. Мораль ее в том, что оптимизацией есть смысл заморачиваться далеко не везде, ибо при выигрыше по первому пункту страдает второй, третий а иногда и четвертый, и не везде ей заморачиваться одинаково полезно - нужно сперва отыскать эти узкие места.

По RE vs "строковые функции" могу сказать, что у кого руки растут совсем из задницы, без RE еще потормознутее напишет, чем с ними. :D

А если откуда надо растут - то специализированный код часто дает лучшую производительность чем "универсальные" подходы. Но тезис, в общем, верен для компилируемых языков, а для того что крутится на скриптах более спорен, ибо "универсальные" методы зачастую поставляются от разрабочиков языка/интерпретатора/виртмашины, на компилируемом языке и оптимизированы. А ваша handmade альтернатива будет в большей степени крутиться в виртмашине.

Выводы? - Профилирование, замеры. На реальных задачах или похожих на таковые тестовых прогонах.

С RE от того как pattern-ы написаны может многое зависеть. "Жадный поиск" окажется не выключен - результат может и верный выйдет (или будет выходить до времени), а скорость... увы.

Наконец, RE имеют ограниченный круг задач где уместны. Для разбора рекурсивно-древесных структур в общем не подходят. И в HTML-е с ним при прямолинейном подходе большая часть сочиненных pattern-ов работает не всегда а как правило. ))

Seoнизаторы всех стран соединяйтесь!
SI
На сайте с 03.12.2007
Offline
130
#9

«Если у вас проблема, и вы собираетесь решать ее с использованием регулярных выражений, значит у вас две проблемы.» :)

ММ
На сайте с 27.10.2011
Offline
1
#10

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий