воскресенье, 13 декабря 2009 г.

Принцип поиска в регулярных выражениях

Данный пост должен помочь осознать принцип поиска совпадений. И ответить на вопрос почему выражение находит именно этот текст а не другой.

Первое о чём стоит сказать - это то что существует 2 больших механизма поиска совпадений:
  1. НКА - недетерминированный конечный автомат, механизм поиска основан на возвратах. Также важной особенностью является то что подвыражения в регулярном выражении проверяются независимо друг от друга. Поскольку НКА управляется регулярным выражением, автор выражения может определять ход дальнейших событий.
  2. ДКА - детерминированный конечный автомат, каждый символ в строке проверяется не более одного раза. Т.е. выражение проверяя следующие символы отбрасывает заведомо ложные совпадения и перестает их проверять.

суббота, 12 декабря 2009 г.

Как научить Delphi дружить с RegExp

Приветствую друзья!
Давненько я не писал. Пора возвращаться в колею!
Если кто то из вас пользуется Delphi, то у него наверняка возникала такая мысль: "почему же создатели этого языка не поставляют в комплект регулярные выражения?". Ну у меня точно возникает.
С тех пор как я впервые услышал о RegExp, я постоянно об этом думаю, поскольку на службе приходиться иметь дело именно с Delphi. А используя другие языки, я всё больше убеждался в мощи и удобстве регулярных выражений. И вот, на днях, меня припекло на столько, что сокрушаясь горючими слезами, я чуть было не начал писать RegExp для Delphi самостоятельно.

суббота, 24 октября 2009 г.

Клиент для твиттера

Попытаюсь описать свой опыт работы с NetBeans, Java и библиотеками eseyMock, Mokito, twitter4j при создании зачатка Twitter-клиента.

Ногами сильно не бить, пишу по памяти - так что, что-то могу и упустить, что то и приукрасить. В любом случае, под катом много букв. Я не буду приводить код в топике, дабы не делать его ещё объемным.

воскресенье, 18 октября 2009 г.

UnitTests прежде чем переходить к практике.

Здравствуйте мои друзья. Извиняюсь что давно не писал, как-то навалилось(Да всё навалилось работа, лентяйство, быт ...).
Но за последние 2 недели произошло кое-что интересное. На работе было принято решение внедрять модульное тестирование.
Что из этого получилось попытаюсь сейчас описать.

пятница, 9 октября 2009 г.

Python 3.1 По горячим следам

И вот последовала реакция на предыдущий пост.
Очень рад. Узнал много нового. Но раз уж появилось так много информации оформлю её отдельным сообщением.

Спасибо yamixxx и agibov за предоставленную информацию.

Итак что увидел меткий глаз по поводу скрипта кредитный калькулятор.

воскресенье, 4 октября 2009 г.

Знакомство с Python 3.1

Последние 3 дня занимался знакомством с Python 3.1. Можно сказать щупал его за разные места.
Поставил перед собой простую задачу: Сделать кредитный калькулятор, ты ему сумму кредита, период и процентную ставку, а он тебе график погашения и сумму переплаты.

Задача была разбита на 3 части
1. Получение входных данных для обработки и принятия решения
2. Вычисление платежей и процентных ставок
3. Вывод данных

---------------------------------------------------------------------
Внимание: В процессе написания скрипта я столкнулся с проблемой объявления глобальных переменных. В 3.1 появились такие директивы как global и nonlocal здесь я понял как использовать эти директивы
---------------------------------------------------------------------

вторник, 22 сентября 2009 г.

Регулярные Выражения. Продолжение

И так в своём предыдущем посте я уже описывал базовый синтаксис регулярных выражений, и этого достаточно для решения простых задач. Но повседневные задачи не всегда бывают простыми. Поэтому требуется расширения знаний в этой области. Поскольку RegExp действительно мощное средство, и существует ряд задач которые без его использования являются очень громоздкими и не элегантными.
Итак давайте приступим.