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 строка)

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


 

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

20077. Устройства выборки зазора в винтовых механизмах 8.53 MB
  Устройства выборки зазора в винтовых механизмах. 1корпус 2винт 3двусторонняя цанга 4регулировочная цанга 5стопорный винт При повышенной сложности устройство может применяться как в силовых так и кинематических передачах и работоспособна при высоких скоростях вращения. Выборка осевого зазора между винтом и базой. винт Корпус Упорный подшипник Упорный подшипник служит для снижения потерь при значительных осевых нагрузках на винт.
20078. ЗУБЧАТЫЕ МЕХАНИЗМЫ. КЛАССИФИКАЦИЯ. БОКОВОЙ ЗАЗОР. МЕРТВЫЙ ХОД. УСТРОЙСТВА ВЫБОРКИ МЕРТВОГО ХОДА 82 KB
  в которых движение передается и преобразуется за счет зацепления зубьев колес. По расположению и форме зубьев прямозубые косозубые и шевронные По назначению силовые кинематические и скоростные . По профилю зубьев в приборостроении нашли применение эвольвентное и часовое зацепление упрощенный профиль. уменьшать число зубьев трибки до z = 6 сохраняя плавность но при этом передаточное отношение перестает быть строго постоянным.
20079. Выявление первичных погрешностей. Методика акад. Н.Г. Бруевича 101.5 KB
  Бруевича Под первичной погрешностью понимают любое отклонение параметров цепи от расчетных приводящих к искажению градуировочных характеристик. Первичная погрешность механизма это отклонение в расстоянии м у кинематическими отклонениями звена это отклонение размеров их формы и расположения. Все первичные погрешности разделяют на 2 категории: скалярные перв.
20080. Выявление первичных погрешностей. Методика проф. Н.А.Калашникова 44.5 KB
  Первичные погрешности делятся на : скалярные направление их действия заранее известно а значение их или модуль заранее предсказать нельзя но оно может быть принято в пределах поля допуска . значение их или модуль любое в пределах поля допуска и направление любое в пределах зоны действия. Они характеризуются неопределенным непредсказуемым направлением действия. Для нахождения значения и характера изменения действующей погрешности необходимо учитывать что воздействие между профилями поверхностей элементов кинематических пар происходит...
20081. Конструирование при циклическом нагружении. Факторы, повышающие и снижающие предел выносливости 101.5 KB
  Уменьшение концентрации напряжений. Если устранить концентраторы напряжений полностью невозможно то следует заменять сильные концентраторы умеренно действующими. Концентраторы следует удалять из наиболее напряженных участков детали и переносить если это допускает конструкция в зоны наименьших напряжений. С целью уменьшения номинальных напряжений целесообразно увеличивать сечения детали на участках расположения концентраторов.
20082. Условия обеспечения качественной и производительной сборки. Исключение неправильной сборки 92 KB
  Исключение неправильной сборки. Для обеспечение правильной и быстрой сборки и разборки конструкций при проектировании нужно учитывать следующие условия: использовать где это возможно взаимозаменяемые детали и узлы; исключать подгоночные работы и и работы по обеспечению взаимного расположения деталей непосредственно при сборке; предусматривать удобный подход инструмента и оснастки используемой при сборке; использовать в конструкциях агрегатный способ сборки т. Так же увеличивается скорость сборки так как сборку узлов и агрегатов можно...
20083. Осевая и радиальная сборка. Особенности, достоинства и недостатки этих схем 420.5 KB
  В конструкциях с продольными и поперечными осями симметрии часто применяют схемы с осевой и радиальной сборки. При осевой сборке все детали устанавливают в осевом направлении при радиальной в радиальном поперечном. При осевой сборке конструкция корпуса как правило простая удобно производить механическую обработку не сложно уплотнять внутренние полости при герметизации. НЕДОСТАТКИ: конструкция корпуса сложная следовательно механическая обработка более сложная чем в осевой сборке.
20084. Компоновка приборов. Моноблочные и др. конструкции. Схемы компоновки 138 KB
  конструкции. Если в конструкции прибора применен подход на основе функционального разделения на части то в этом случае говорят о блочно модульных конструкциях. Моноблочные конструкции монтируются в едином корпусе и применяют в следих случаях: когда изделие выполняет мало частных функций и разбиение на узлы не целесообразно; для миниатюрных конструкций медицинские зонды; для приборов которые изготавливаются в малом количестве либо имеет небольшой срок службы шариковая ручка. Блочно модульные конструкции это конструкции которые...
20085. Разработка компактных конструкций. «Разнесение» конструкции в радиальном направлении и др. приемы конструирования. Проблемы миниатюризации 125.5 KB
  Разнесение конструкции в радиальном направлении и др.существенное уменьшение осевых размеров конструкции м.достигнуто за счет разнесения конструкции в радиальном направлении Основная идея не встраивать все элементы последовательно друг за другом а встраивать один элемент в другой Конструкция дифференциального винтовой передачи 4. незначительно увеличиваем диаметр и уменьшаем длину 5уменьшение размеров может быть достигнуто за стчет пустот имеющихся в конструкции или создания канавки Н2Н1 Проблема миниатюризации.