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

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


 

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

50319. Построение простейших экспертных систем 315.5 KB
  Задание к работе: составить программу, содержащую сведения о лучшей десятке фильмов. Данные для построения вывода: название, режиссер, сценарист, год выпуска, киностудия, страна-производитель. В программе должна быть реализована возможность получения следующей информации: по порядковому номеру – фамилия режиссера, название фильма, страны-производителя; все фильмы одного годы выпуска или одной киностудии; все фильмы одной страны.
50320. ЗНАЙОМСТВО ІЗ ПАКЕТОМ СИМУЛЯЦІЇ ЕЛЕКТРОННИХ СХЕМ «PROTEUS» 488 KB
  Proteus - це пакет програм класу САПР, який поєднує в собі дві основні програми: ISIS - засіб розробки і налагодження в режимі реального часу електронних схем та контролерів і ARES - засіб розробки друкованих плат.
50321. ІНТЕГРОВАНЕ СЕРЕДОВИЩЕ РОЗРОБКИ ПРОГРАМ AVR STUDIO 1.54 MB
  Початок роботи При програмуванні в середовищі VR Studio необхідно виконати стандартну послідовність дій: створення проекту; написання програми; компіляція; симуляція. Натискаємо завершити Finish на цьому проект створений і ми потрапляємо в головне вікно програми. Загальний вид вікна програми Вікно розділене на 4 частини. Трохи нижче ліворуч розташовується вкладки Диспетчер проекту Project Перегляд вводу виводу I O View Інформація Info праворуч Текст програми.
50322. Изучение явления дифракции света с помощью лазера 276 KB
  Рассмотрим дифракцию Фраунгофера от одной узкой прямоугольной щели рис. на щель падает плоская монохроматическая световая волна с длинной перпендикулярно к плоскости щели. Поместим за щелью на расстоянии во много раз большим по сравнению с шириной щели L а экран. В точке о лежащей на перпендикуляре к плоскости щели восстановленном из середины щели будут встречаться световые пучки длина пути которых от всех условных точечных источников щели до данной точки почти одинакова т.
50323. Изучение поляризации отраженного от диэлектриков света 682.5 KB
  Изучение поляризации отраженного от диэлектриков света. Цель работы: Изучение свойств света поляризованного при отражении от диэлектриков; изучение законов поляризации света при отражении от прозрачной среды; изучение методов определения показателя преломления диэлектрика по степени поляризации отраженного света. Приборы и принадлежности: Источник света; коллиматор; исследуемые образцы; анализатор; фотоэлемент; собирающая линза; миллиамперметр; транспортир. Подробно явление...
50324. Элементарный перцептрон Розенблатта 70.5 KB
  Подадим на вход перцептрона изображение буквы Т. Это изображение возбуждает все S-нейроны, кроме пятого и восьмого. Единичные сигналы с выходов возбужденных бинарных S-нейронов через связи, весовые коэффициенты которых заданы табл.1, поступают на входы A-нейронов. Суммарный входной сигнал на входе i-го A-элемента определяется соотношением
50325. Методы и системы искусственного интеллекта 170 KB
  Коэффициенты веса связей между Sи элементами постоянны. Необходимых комбинаций выходных сигналов на каждый класс изображений добиваются на этапе обучения или адаптации перцептрона за счет изменения переменных весов связей между и Rэлементами.
50326. Формирование земельного участка под строительство автомобильной дороги. Методические указания 359 KB
  Формирование земельного участка под строительство автомобильной дороги Направление подготовки 120700 Землеустройство и кадастры Профиль подготовки Земельный кадастр Квалификация степень выпускника Бакалавр Уфа 2012 УДК 332 ББК 65. Формирование земельного участка под строительство автомобильной дороги Цель лабораторных занятий – закрепление теоретических знаний и приобретение практических навыков по составлению и обоснованию проекта формирования...