Posts Tagged ‘выражения’

Интерпретация строковых выражений как функций

Суббота, Август 11th, 2012 Нет комментариев

Under : , , , ,

Иногда возникает потребность интерпретировать в программе строковое выражение как функцию. Например, при написании графопостроителя требуется переработать полученную строку так, чтобы в результате получилась функция, причем работающая со скоростью, необходимой для многократного пересчета координат точек. На самом деле круг подобных задач намного шире, он включает в себя программы, использующие любые варианты условий отбора (например, интерпретация условий SQL запросов). Эта статья посвящена решению задач такого рода, правда я не буду приводить готовых исходников, которые можно скачать и скомпилировать, моя задача — показать одну из возможностей реализации. Кому это нужно и интересно, сами напишут все, что надо и разовьют идею.
(далее…)

Выражения и операторы в с#

Пятница, Июнь 8th, 2012 Нет комментариев

Under : , , , ,

В программировании под выражением понимают строку кода, выполнение которого изменяет состояние некоторого объекта. Например, придает значение переменной. Выражения реализуются с помощью операторов. Первый из них, без которого не обойдется ни одна программа – это оператор присваивания; с точки зрения математики это приравнивание. В левой части выражения записывается переменная, которой присваивается значение, в правой части – значение. Например:
name =”Петя”; //присваиваем переменной name значение «Петя» (далее…)

Введение в регулярные выражения. Синтаксис.

Вторник, Апрель 17th, 2012 Нет комментариев

Under : , , , ,

PHP отличается наличием очень мощных и гибких механизмов для работы с двумя самыми часто используемыми типами данных: строками и массивами. Об этом мы говорили в одном из предыдущих выпусков. Однако в PHP есть еще один механизм обработки строк, который, ввиду своей сложности и мощи был пропущен мною. Я говорю о механизме регулярных выражений (regular expressions). Настало время поговорить о них, потому что в дальнейшем нам очень часто потребуется использовать их. Кроме того использование регулярных выражений во многих ситуациях поможет вам заменить кучу кода всего одной строчкой. Единственная проблема, которая обычно возникает при работе с регулярными выражениями — их очень необычный, и, поначалу, совершенно непонятный синтаксис. Поэтому я постараюсь рассказать о синтаксисе регулярных выражений по возможности более просто и подробно. (далее…)

Регулярные выражения в perl

Вторник, Апрель 17th, 2012 Нет комментариев

Under : , , , ,

Регулярные выражения являются наиболее сложной темой практически для любого программиста: как для новичка, только что начавшего изучать perl, так и для опытного программиста, ранее не встречавшегося с регулярными выражениями. На самом деле, регулярные выражения не так сложны, как может показаться на первый взгляд, просто с самого начала нужно построить правильные аналоги. (далее…)

Регулярные выражения в PHP

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , , ,

Поддержка интерфейса между скриптом и регулярными выражениями осуществляется черезследующие функции: split(), ereg(), ereg_replace(). (доп. редактора). Первымаргументом для всех трех функций — это строка, задающая регулярное выражение. Этотстрока состоит из регулярных и специальных символов. Регулярные символы имеют тоже значение что и при в других командах Unix, в то время как специальные символыимеют специальное значение. Далее следуюет — полный список специальных символов иих значения как это воспринимает синтаксический анализатор PHP: (далее…)

Краткое описание регулярных выражений: POSIX и PCRE

Понедельник, Апрель 9th, 2012 Нет комментариев

Under : , , , ,

Описание базовых принципов и понятий работы регулярных выражений.
Описание синтаксиса языка регулярных выражений стандарта POSIX. Функции. Примеры.
реимущества стандарта реглярных выражений PCRE над POSIX. Рассыльщик почты с обильным использованием PCRE.

Часть 1: Регулярные выражения

Начну с того, что php поддерживает два стандарта регулярных выражений: POSIX и, начиная с четвертой версии, совместимые с Perl. Первый стандарт используется и сервером Apache в mod_rewrite а так же… MySQL в своих запросах (поищите слово «REGEXP» в руководстве по mysql, может сразу поймете, а я об этом позже расскажу). Второй, как ясно из названия, используется в системе perl. Два этих стандарта различаются несильно — во втором есть специальные символы, заменяющие наиболее часто используемые классы символов (например, цифры — \d, а буквы и цифры — \w) и специальные параметры шаблонов, позволяющие определять регистрозависимость поиска, привязку к концам строк и т.д (в функциях стандарта POSIX (далее…)

Регулярные выражения в PHP (сравнение Perl и PHP)

Понедельник, Апрель 9th, 2012 Нет комментариев

Under : , , , ,

Что такое регулярные выражения?

Для многих программеров, не работавших прежде в вебе, данная область программирования неизвеста. Если объяснять кратко, реги — это шаблоны типа тех, что используются для выделения файлов по маске. Только реги это отдельная наука, по которой написаны толстые книжки (все, кроме описанной ниже, на английском). Регурярные выражения в PHP или других веб-языках позволяют свести до 1 команды то, что программист, не знающих их, вынужден был бы писать весьма долго (потом еще долго тестировать, ошибки выявлять…).

Итак регулярные выражения — это средство произвести некоторые действия над текстом. Средства: небольшое кол-во управляющих элементов регулярных выражений дает огромный набор средств, что бы среди текста выделить/найти нужные части. Действия: копирование найденных кусков текста в переменную, удаление их из текста, замена, изменение на сходный текст. (далее…)

Введение в регулярные выражения. Синтаксис.

Понедельник, Апрель 9th, 2012 Нет комментариев

Under : , , , , ,

PHP отличается наличием очень мощных и гибких механизмов для работы с двумя самыми часто используемыми типами данных: строками и массивами. Об этом мы говорили в одном из предыдущих выпусков. Однако в PHP есть еще один механизм обработки строк, который, ввиду своей сложности и мощи был пропущен мною. Я говорю о механизме регулярных выражений (regular expressions). Настало время поговорить о них, потому что в дальнейшем нам очень часто потребуется использовать их. Кроме того использование регулярных выражений во многих ситуациях поможет вам заменить кучу кода всего одной строчкой. Единственная проблема, которая обычно возникает при работе с регулярными выражениями — их очень необычный, и, поначалу, совершенно непонятный синтаксис. Поэтому я постараюсь рассказать о синтаксисе регулярных выражений по возможности более просто и подробно. (далее…)

Регулярные выражения (шаблоны)

Понедельник, Апрель 9th, 2012 Нет комментариев

Under : , , , ,

Чаще всего регулярные выражения используются в Perl в операторах поиска и замены, таких как s//, m/, операторах связки =~ или != и т.д. Как правило все эти операторы имеют схожие опции такие как:

i - не различать строчные и заглавные буквы.
m - считать строку многострочной.
s - однострочная строка.
x - расширенный синтаксис ( использование пробелов и комментариев)

Обычно все эти опции обозначают как ‘/x’. Их можно использовать даже внутри шаблонов, используя новую конструкцию (?…) (далее…)

Отладка Perl программ.

В Perl реализован превосходный механизм отладки программ. Вам достаточно запустить программу с ключом ‘-d’ и вы начнете работать с интерактивным отладчиком. Вам становятся доступны все переменные и массивы, вы можете вводить выражения и операторы, трассировать, исследовать работу программы в пошаговом режиме и многое другое. Ниже перечислены команды отладчика которые вы можете вводить на его подсказку.

Команды отладчика.

h — Получить справку по командам.
T — Просмотреть стек программы
s — Выполнить одну команду и остановиться.
n — Выполнить подпрограмму и остановиться.
r — Выполнить текущую подпрограмму и остановиться.
c — Продолжить выполнение до следующей точки остановки.
c номер — Продолжить выполнение до строки с данным номером. (далее…)