Я не люблю всякие визуальные редакторы для создания ER-моделей. Предпочитаю писать SQL код вручную, но для всяких отчетов и обсуждений хотелось иметь графическое представление и желательно в векторном формате.
Читать полностью »
Метка «регулярные выражения» - 3
Автоматическое построение диаграмм сущность-связь
2012-07-08 в 5:19, admin, рубрики: ER-диаграммы, postgresql, python, sql, Регулярные выражения, метки: ER-диаграммы, python, sql, регулярные выраженияОб удалении квотированных строк из текста JavaScript
2012-05-25 в 14:33, admin, рубрики: php, Регулярные выражения, метки: PHP, регулярные выражения Как часть программы анализа исходных кодов было необходимо вырезать из JavaScript все строковые литералы. Сначала на PHP был реализован state based парсер, но это было медленно и уныло. А сделать быстро получилось с помощью регулярных выражений.
Читать полностью »
Создание регулярных выражений из диапазонов мобильных телефонных номеров
2012-05-25 в 13:56, admin, рубрики: asterisk, def-коды, Регулярные выражения, телефония, метки: asterisk, def-коды, регулярные выражения, телефонияПривет!
Я много работаю с VoIP-сетями. С коммерческим оборудованием, конечно тоже, но и очень много с OpenSource (статья пишется в контексте использования Asterisk PBX).
В телефонии часто возникает простая задача, разделить маршруты на определённые направления. Ну например, направить вызовы на городские номера в сторону оператора 1, МГ — в сторону оператора 2, МН — в сторону оператора 3.
Задача, в общем-то тривиальная, и реализуется на Asterisk легко:
;Местная городская связь: 7 знаков (в разных регионах РФ от 3-х до 7-ми знаков), и номера экстренных служб.
exten => _0X,1,dial(SIP/itsp1/${EXTEN})
exten => _0XX,1,dial(SIP/itsp1/${EXTEN})
exten => _XXXXXXX,1,dial(SIP/itsp1/${EXTEN})
;Междугородняя и мобильная связь: код выхода на МГ связь (в РФ - "8") + 10 знаков.
exten => _8[348]XXXXXXXXX,1,dial(SIP/itsp2/${EXTEN})
exten => _89XXXXXXXXX,1,dial(SIP/itsp2/${EXTEN})
;Международная связь: код выхода на МН связь (в РФ - "810") + номер телефона в международном формате.
exten => _810X.,1,dial(SIP/itsp3/${EXTEN})
Однако иногда возникает необходимость предоставить абоненту доступ только к мобильным телефонам его области, и здесь простым "_89XXXXXXXXX" не отделаешься.
Читать полностью »
Массовая уязвимость в проектах на Ruby
2012-05-19 в 21:19, admin, рубрики: regexp, ruby, информационная безопасность, Регулярные выражения, метки: regexp, ruby, регулярные выражения Российский разработчик Егор Хомяков сообщил об ещё одной массовой уязвимости в проектах на Ruby. Речь идёт об использовании ^
в начале строки и $
в конце строки регулярных выражений вместо A
и z
.
Дело в том, что ^
и $
в таких случаях воспринимается Ruby как новые строки (n
), что открывает двери для инъекций.
Читать полностью »
Имитируем пересечение, исключение и вычитание, с помощью Lookahead условий, в регулярных выражениях в ECMAScript
2012-05-15 в 3:51, admin, рубрики: javascript, Веб-разработка, Регулярные выражения, метки: javascript, регулярные выраженияИмитируем пересечение, исключение и вычитание, с помощью Lookahead условий в регулярных выражениях в ECMAScript
От переводчика
Это перевод небольшой заметки, написанной вчера Lea Verou
В ней предлагается интересная техника для решения повседневных задач. В самой статье нету ничего нового, но это хорошее обобщение полезной информации.
Информация в статье касается ECMAScript, но может использоваться и в других RegExp Движках (хотя и есть вероятность, что там есть более подходящее решение).
Если примеры кажутся вам сложными, рекомендую играть с ними в консоли, по мере прочтения. И Заранее прощу прочтение за пугающее название.
Статья
Если вы какое-то время используете регулярные выражения, то наверняка вы сталкивались с разными вариантами следующих задач:
- Пересечение:«Что-то, что совпадает с шаблоном А и шаблоном Б»
Например: Пароль, минимум 6 символов, в котором хотя бы одна цифра, хотя бы одна буква, и хотя бы один специальный символ - Исключение: «Я хочу что-то, что совпадает с шаблоном А, но не совпадает с шаблоном Б»
Например: Любое целое число, которое не делится на 50 - Отрицание: Все. Что не совпадает с шаблоном А
Например: Строка, которая не содержит в себе слово «Foo»
Оболочки / Регулярные выражения внутри bash
2012-02-01 в 3:09, admin, рубрики: Новости, метки: bash, regex, regexp, регулярные выражения Занялся я как-то оптимизацией скорости работы своего скрипта. Алгоритм был уже вовсю отполирован, распараллелен и выполнялся уже более чем за сносное время. Лишь изредка, облизывая части кода, шебурша места, использующие внешние команды и приводя в благоухающую гармонию встроенными командами оболочки, обращал внимание на застоявшуюся роль труженика — потокового редактора sed, всё так же старательно обрабатывавшего регулярные выражения в моём расцветающем скрипте.
Существует множество мест, где люди грызут друг другу глотки и отстаивают честь своего любимого редактора в грозной войне sed vs awk vs grep vs …
Тем не менее,Читать полностью »