Я напоминаю всем участникам дискуссии про существование aalib, в которой реализована уйма всего. Демонстарция возможностей либы — дема bb. Можно поставить её из apt (apt-get install bb), можно собрать её самому (хотя придется немного попыхтеть, мне под маком пришлось по крайней мере), а можно посмотреть на ютьюбе.
Вообще, кроме попыток как-то подсветить регулярку, чтобы понять, что всё-таки имелось в виду, можно её еще изначально понятнее писать.
Вот некоторые трюки (некоторые работают не во всех языках):
Выбирать делимитеры, которые не придётся экранировать: #http://# против /http:\/\//
Использовать не-бэклинкующиеся группы (?expr) в тех случаях, когда группу не нужно выцеплять: #(?https?:)?//#. Потом не придётся гадать, зачем тут эта группа.
Использовать именованные группы (?'name'expr) — тогда не придётся потом гадать, что эта группа выцепляет: #(?(?'proto'https?):)?//#. Только осторожно, а то возможно сумасшествия от экранирования кавычек.
Если вы собрались писать совсем уж монструозный регэксп, возможно стоит воспользоваться xtented-синтаксисом — там можно разбивать монстра на несколько строк и комментировать их
Стремиться решить задачу попроще, например, помня про незахватывающее заглядывание вперёд и назад
Не парсить регулярками HTML, ну про это уже писали не раз.
А что, я, сталкиваясь со всякими эффектами наложения, прозрачности и прочего, 10000 лишниями слоями, и прочими ужасами от дизайнера примерно так и делал: отключал лишние слови, мержил оставшиеся слои в один (Merge/Merge Down/Flatten Image) и спокойно пипетил и резал всё что нужно.
В макоси тоже чудности есть. Например в маунтин льве просто замучала нотификация о доступных обновлениях. Она вылезает, её свайпаешь к черту, а она снова и снова, а мне не до неё как-то вообще. И не отключить полностью никак, даже запретив автообновления в настройках.
По моему опыту сапфировое стекло практически неуязвимо. Мне как-то подарили дорогие часы с этим самым стеклом, которые я и стал гордо носить. Однажды я очень глупо и сильно навернулся с велосипеда: ехал по склону, наскочил на кочку, не удержал руль и полетел через него, от души проехавшись по асфальту. Часы приняли на себя огого удар — их сорвало с руки (штучка, держащая ремень, сломалась), на металлическому корпусе остались глубокие царапины. А стеклу — хоть бы что. Хотя линия царапины проходила по всей передней части, на стекле остались едва заметные под определенном углом царапинки.
Периан вообще вроде неплох, но есть абсолютно всеядные VLC и MplayerX (которые впрочем тоже не встроенные).
И поиск по ним есть.
Удобно, почта-контакты-календарь пушатся моментально.
Как передадите. По умолчанию — по значению. Если с амперсандом — то по ссылке.
Вот некоторые трюки (некоторые работают не во всех языках):
#http://#
против/http:\/\//
(?expr)
в тех случаях, когда группу не нужно выцеплять:#(?https?:)?//#
. Потом не придётся гадать, зачем тут эта группа.(?'name'expr)
— тогда не придётся потом гадать, что эта группа выцепляет:#(?(?'proto'https?):)?//#
. Только осторожно, а то возможно сумасшествия от экранирования кавычек.Мне же куда больше досталось)
С формой не угадал, конечно. Действительно, выносная микроволновка.