67788

Создание программы, которая заключает в тэги все слова и словосочетания, в которых встречаются 5 согласных букв подряд

Лабораторная работа

Информатика, кибернетика и программирование

Служебный символ. (точка) означает «любой символ». Например, выражение р.р совпадает с символом р, за которым следует произвольный символ, после чего опять следует символ р. Объединение служебных символов приводит к появлению более сложных выражений. Рассмотрим несколько примеров...

Русский

2016-09-07

51 KB

1 чел.

Содержание

[1]
Задание

[2] Теория


Задание

Создать программу, которая заключает в тэги <i/>…</i> все слова и словосочетания, в которых встречаются 5 согласных букв подряд.

Теория

Работа с файлами

Открытие файлов в файловой системе сервера производится при помощи функции fopen:

 int fopen(string filename, string mode [, int use_include_path])

filename - имя файла или абсолютный путь к нему.

mode говорит о том, для каких действий открывается файл и может принимать следующие значения:

  •  r (Открыть файл только для чтения; после открытия указатель файла устанавливается в начало файла);
  •  r+ (Открыть файл для чтения и записи; после открытия указатель файла устанавливается в начало файла);
  •  w (Создать новый пустой файл только для записи; если файл с таким именем уже есть вся информация в нем уничтожается);
  •  w+ (Создать новый пустой файл для чтения записи; если файл с таким именем уже есть вся информация в нем уничтожается);
  •  a (Открыть файл для дозаписи; данные будут записываться в конец файла);
  •  a+ (Открыть файл для дозаписи и чтения данных; данные будут записываться в конец файла);
  •  b (Флаг, указывающий на работу (чтение и запись) с двоичным файлом; указывается только в Windows).

Третий необязательный аргумент use_include_path определяет должны ли искаться файлы в каталоге include_path. (Параметр include_path устанавливается в файле php.ini).

Закрытие файлов осуществляется с помощью функции fclose:

 int fclose (int file)

Прочитать строку из открытого файла можно с помощью функции fread:

 string fread ( int file, int length )

Запись в файлы осуществляется функциями fputs и fwrite, которые абсолютно идентичны:

 int fputs ( int file, string string [, int length ])

 int fwrite ( int file, string string [, int length ])

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

Квадратные скобки ([ ]) имеют особый смысл в контексте регулярных выражений -- они означают «любой символ из перечисленных в скобках».
Ниже перечислены некоторые часто используемые интервалы:

  •  [0-9] -- совпадает с любой десятичной цифрой от 0 до 9;
  •  [a-z] -- совпадает с любым символом нижнего регистра от а до z;
  •  [A-Z] -- совпадает с любым символом верхнего регистра от А до Z;
  •  [a -Z] -- совпадает с любым символом нижнего или верхнего регистра от а до Z.
  •  р+ означает один или несколько символов р, стоящих подряд;
  •  р* означает ноль и более символов р, стоящих подряд;
  •  р? означает ноль или один символ р;
  •  р{2} означает два символа р, стоящих подряд;
  •  р{2,3} означает от двух до трех символов р, стоящих подряд;
  •  р{2,} означает два и более символов р, стоящих подряд.
  •  Конструкция [^a-zA-Z] совпадает с любым символом, не входящим в указаные интервалы (a-z и A-Z).
  •  Служебный символ . (точка) означает «любой символ». Например, выражение р.р совпадает с символом р, за которым следует произвольный символ, после чего опять следует символ р.

Объединение служебных символов приводит к появлению более сложных выражений. Рассмотрим несколько примеров:

  •  ^.{2}$ -- любая строка, содержащая ровно два символа;
  •  <b>(.*)</b> -- произвольная последовательность символов, заключенная между <Ь> и </Ь> (вероятно, тегами HTML для вывода жирного текста);
  •  p(hp)* -- символ р, за которым следует ноль и более экземпляров последовательности hp (например, phphphp).
  •   [[:alpha:]] -- алфавитный символ (aA-zZ);
  •  [[:digit:]]-цифра (0-9);
  •  [[:alnum:]] -- алфавитный символ (aA-zZ) или цифра (0-9);
  •  [[:space:]] -- пропуски (символы новой строки, табуляции и т. д.).

В настоящее время PHP поддерживает семь функций поиска с использованием регулярных выражений в стиле POSIX:

  •  еrеg( );
  •  еrеg_rерlасе( );
  •  eregi( );
  •  eregi_replace( );
  •  split( );
  •  spliti( );
  •  sql_regcase( ).

Описания этих функций приведены в следующих разделах.

ereg( )

Функция еrеg( ) ищет в заданной строке совпадение для шаблона. Если совпадение найдено, возвращается TRUE, в противном случае возвращается FALSE. Синтаксис функции ereg( ):

int ereg (string шаблон, string строка [, array совпадения])

ereg_replace( )

Функция ereg_replace( ) ищет в заданной строке совпадение для шаблона и заменяет его новым фрагментом. Синтаксис функции ereg_replace( ):

string ereg_replace (string шаблон, string замена, string строке)

У средств поиска с заменой в языке PHP имеется одна интересная возможность -- возможность использования обратных ссылок на части основного выражения, заключенные в круглые скобки. Обратные ссылки похожи на элементы необязательного параметра-массива совпадения функции еrеg( ) за одним исключением: обратные ссылки записываются в виде \0, \1, \2 и т. д., где \0 соответствует всей строке, \1 -- успешному совпадению первого подвыражения и т. д.

eregi( )

Функция eregi( ) ищет в заданной строке совпадение для шаблона. Синтаксис функции eregi( ):

int eregi (string шаблон, string строка [, array совпадения])

eregi_replace( )

Функция eregi_replасе( ) работает точно так же, как ereg_replace( ), за одним исключением: поиск производится без учета регистра символов. Синтаксис функции ereg_replace( ):

string eregi_replace (string шаблон, string замена, string строка)

split( )

Функция split( ) разбивает строку на элементы, границы которых определяются по заданному шаблону. Синтаксис функции split( ):

array split (string шаблон, string строка [, int порог])

Необязательный параметр порог определяет максимальное количество элементов, на которые делится строка слева направо

spliti( )

Функция spliti( ) работает точно так же, как ее прототип split( ), за одним исключением: она не учитывает регистра символов. Синтаксис функции spliti( ):

array spliti (string шаблон, string строка [, int порог])

sql_regcase( )

Вспомогательная функция sql_regcase( ) заключает каждый символ входной строки в квадратные скобки и добавляет к нему парный символ. Синтаксис функции sql_regcase( ):

string sql_regcase (string строка)

Если алфавитный символ существует в двух вариантах (верхний и нижний регистры), выражение в квадратных скобках будет содержать оба варианта; в противном случае исходный символ повторяется дважды.


 

А также другие работы, которые могут Вас заинтересовать

40110. Методы наискорейшего и координатного спуска для минимизации выпуклой функции без ограничений. Их алгоритмы и геометрическая интерпретация 94.5 KB
  Все методы спуска решения задачи безусловной минимизации различаются либо выбором направления спуска, либо способом движения вдоль направления спуска. Решается задача минимизации функции f(x) на всём пространстве Rn. Методы спуска состоят в следующей процедуре построения последовательност
40111. Субградиент как обобщение понятия градиента. Субградиент для функции максимума. Субградиентный метод и его геометрическая интерпретация в R2 141 KB
  Субградиент для функции максимума. Градиентом дифференцируемой функции fx в точке называется вектор частных производных.x0 y0 а значение lim называется частной производной функции f по x в т. Вектор называется субградиентом опорным вектором функции fx в точке если выполняется: Таких с множество но это множество ограничено и замкнуто.
40112. Типичные производственные функции с несколькими ресурсами: линейная ПФ, степенная ПФ, ПФ с постоянными пропорциями. Коэффициенты эффективности использования ресурсов для этих типов функций 162 KB
  Коэффициенты эффективности использования ресурсов для этих типов функций. Производственные возможности н х в любой момент времени определяются 2мя группами факторов: технологические условия производства которые выражают зависимости между затратами разных ресурсов и выпуском продукции объем и качество используемых ресурсов fx – производственная функция зависимость результата производства объема выпуска продукции от затрат ресурсов. X = х1 хm – вектор затрат ресурсов. ПФ характеризует максимально возможный выпуск продукции при...
40113. Показатели эффективности использования производственных ресурсов (коэффициенты средней и предельной эффективности). Коэффициент эластичности выпуска. Вычисление этих показателей для степенной производственной функции 134.5 KB
  Средняя эффективность использования ресурсов – показывает отдачу от каждой единицы iго ресурса. Предельная эффективность – показывает предельный прирост выпуска продукции при увеличении затрат iго ресурса на малую величину. При этом важен характер изменения эффективности дополнительных количеств используемого ресурса. Если найдем максимальный то определим от какого ресурса получим наибольшую отдачу т.
40114. Модель оптимального поведения потребителей на рынке товаров в условиях товарно-денежных отношений 85.5 KB
  Модель оптимального поведения потребителей на рынке товаров в условиях товарноденежных отношений. Исследуется поведение некоторой группы потребителей на рынке на котором представлены n товаров которые будем обозначать: y = y1 yn – набор товаров услуг р = р1 рn – заданные цены на товары услуги. Тогда задача имеет вид: Графическая интерпретация для случая двух товаров: Линии уровня имеют такой вид так как чем больше потребитель потребляет товар тем менее предпочтительным он становится Присутствующий в модели принцип...
40115. Вариантная задача развития и размещения производства. Метод коэффициентов интенсивности 98 KB
  Отраслевая модель перспективного планирования разрабатывается на 5-15 лет. В пределах этого времени очень часто показатели принимаются за постоянные. Если же относительно некоторых экономических показателей нельзя сделать предположение о постоянстве, то учитывается изменение во времени за некоторый период времени. При этом показатели вычисляются приближенно с помощью коэффициента дисконтирования.
40116. Модель с фиксированным размером заказа 51 KB
  Модель с фиксированным размером заказа Целесообразность создания запасов: 1 наличие запасов позволяет быстро удовлетворять потребности потребителей. В рассматриваемой системе размер заказа является постоянной величиной и повторный заказ подается при условии что уровень наличных заказов снижается до определенного критического уровня который в теории управления запасами называется точкой заказа. Система с фиксированным размером заказа основана на выборе размера партии минимизирующего общие издержки управления запасами. При этом...
40117. Модель с фиксированным уровнем запасов 44.5 KB
  Модель с фиксированным уровнем запасов основана на фиксированных моментах подачи заказа. В модели издержки управления запасами в явном виде не рассматриваются и фиксированный размер заказа отсутствует. Mx уровень запасов M определяется по формуле: М = В SL L R 1 где L – время выполнения заказа R – интервал м у проверками 0 R 2R – моменты проверки наличия товара на складе 0 L R L 2R L – моменты поставки заказа. примерно в случаев фактический сбыт за время доставки заказа м.
40118. Двухуровневая система управления товарными запасами, (s,S)-система 36.5 KB
  Данная система является системой с постоянным уровнем запасов в которой установлен нижний предел для размера заказа. Покажем что действительно нижний предел размера заказа: L – время выполнения заказа P – точка заказа; уровень запасов при котором делается заказ. Заказываем реже чем в модель с фиксированным уровнем запасов и размер заказа при этом больше. Рекомендации по выбору: I модель – система с постоянным уровнем заказа – система с пост.