Использование регулярных выражений для эффективной работы с текстом | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Автор:

Рубрика: Педагогика

Опубликовано в Молодой учёный №3 (62) март 2014 г.

Дата публикации: 20.02.2014

Статья просмотрена: 537 раз

Библиографическое описание:

Жигулина, О. В. Использование регулярных выражений для эффективной работы с текстом / О. В. Жигулина. — Текст : непосредственный // Молодой ученый. — 2014. — № 3 (62). — С. 865-866. — URL: https://moluch.ru/archive/62/9473/ (дата обращения: 18.12.2024).

В статье рассматриваются вопросы методики обучения регулярным выражениям в профильном обучении.

Ключевые слова:регулярные выражения, поиск, замена.

Актуальность темы исследования определяется тем, что многие задачи поиска и замены можно автоматизировать, создав регулярные выражения, которые состоят из текстовых литералов и подстановочных знаков.

Регулярные выражения придуманы не вчера и даже не позавчера. Это средство облегчения жизни, одинаково хорошо подходящее и программистам, и пользователям, придумано уже довольно-таки давно и с тех пор исправно трудится на нелёгкой компьютерной ниве. В общем-то, это довольно странно, но факт: львиная доля пользователей и даже некоторые разработчики не умеют пользоваться регулярными выражениями. Регулярные выражения — средство поиска по тексту на основе шаблонов. Шаблон описывает закономерность, которой должны подчиняться искомые последовательности символов в тексте.

Тем не менее, как и при поиске по маске в Windows, при работе с регулярными выражениями приходится иметь дело с двумя существенно различающимися по своей природе вещами — литералами и метасимволами. Литералы — это обычные символы, то есть те, которые при записи в строке регулярного выражения интерпретируются именно так, как они записаны — они не имеют никого «подвоха», не имеют никаких специальных значений в данном выражении. Метасимволы, соответственно, интерпретируются при поиске каким-то особым образом — как, например, "*" задаёт последовательность любого количества любых литералов.

Регулярные выражения— это мощнейший инструмент, хорошо известный программистам. Однако он может быть полезен не только программистам, но и всем людям, работающим с кодом или простым текстом [3, c.58].

Главной целью профильного обучения выступает обеспечение общедоступности для учащихся, получения полноценного образования в соответствии с их индивидуальными склонностями и потребностями, обеспечение профессиональной ориентации и самоопределения обучающихся, установление преемственности между общим и профессиональным образованием [1, c.6].

В курсе профильного обучения можно обучать старшеклассников работе с регулярными выражениями. Последние помогут работать со сложным текстом.

В 10 классе на тему 1. «Информация. Техника обработки текстовой информации» отводится от 6 до 15 часов. Среди которых есть темы уроков «Форматирование документа» и «Создание, редактирование и форматирование документов». Именно здесь можно добавить практические занятия по использованию регулярных выражений.

В программе курса «Информатика и ИКТ» (профильный уровень) для среднего (полного) общего образования (10–11 класс) авторского коллектива под руководством профессора Семакина И. Г. в разделе «Информационные технологии» присутствует тема «Технологии обработки текстов» на которую отводится 8 часов. В эту тему также будет целесообразно добавить практические и лабораторные работы по использованию регулярных выражений.

Также учить регулярным выражениям можно при изучении тем «Технология табличных вычислений»(10 класс-15 ч), «Основы сайтопостроения»(10 класс-11ч).

При изучении языка html можно выполнять поиск ссылок в HTML-странице с помощью регулярного выражения. Регулярные выражения (Regular Expressions) позволяют сопоставлять текст с указанным шаблоном, а также выполнять замену текста. Эти операции осуществляются с помощью универсальных символов, которые специальным образом интерпретируются.

Регулярные выражения используются в большом количестве языков программирования.

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

-                    проверка на соответствие. Проверка вводимого текста на соответствие некоторому шаблону: проверка корректности электронной почты, номера телефона, адреса и т. д.

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

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

-                    синтаксический анализ выражений, соответствующих небольшим формальным грамматикам. Решение заключается в составлении регулярного выражения, описывающего грамматику исходного выражения. С его помощью сначала осуществляем проверку на соответствие составленному шаблону и затем разбиваем выражение на лексемы посредством описанных в регулярном выражении групп.

Регулярные выражения позволяют, тем не менее, производить довольно изощренный и практически полезный поиск. Приведем реальные примеры.

Пример 1. Нужно найти строки с неверным расположением знаков препинания (типа ««,). Начинающие авторы часто ошибаются в расстановке знаков препинания, отделяя его от слова пробелом. Запрос на поиск таков:

Л [,:;!?\.]/.

Ищется пробел «\ «и любой из знаков препинания в скобках [].

Спецсимвол «точка» изображается как «\».

Пример 2. Аналогичная ошибка — отсутствие пробела сразу после знака препинания: / [,:;!?\.]Г\].

Ищется один из знаков препинания в скобках [] и пробел «\».

Пример 3. Если текст написан на родном языке, символы латиницы могут попасть только случайно: [A-Za-z].

Рассмотрим некоторые вопросы методики для этой темы. Полезное упражнение для учащихся — самостоятельное формулирование поискового утверждения на родном языке и перевод его в регулярное выражение. Важна именно содержательная формулировка поискового запроса и перевод ее самим учеником: связывание конкретной формулировки запроса на родном языке и абстрактной в виде регулярного выражения.

Отметим, что обработка текста алгоритмами поиска и замены — отличная пропедевтика для алгоритмизации и программирования на классических языках, с ясными целями, высокой наглядностью процесса и результатов. Она вполне может идти до темы «Алгоритмизация». При составлении регулярных выражений обучаемый привыкает ценить точность записи: важна буквально каждая запятая, каждый символ. Эта привычка весьма пригодится при составлении и записи обычных алгоритмов. Фактически обучаемый участвует в цикле поиска и замены по всем строкам текста, который выполняется регулярным выражением.

Применение регулярных выражений раскрывает внутри-предметную связь «редактирование — алгоритмизация». Без этого такая связь могла быть реализована лишь при разработке учеником простого текстового редактора, что далеко не всем по силам. Простое задание на модификацию алгоритма — вывести номера строк с ошибками в расстановке запятых.

Новый смысл приобретает и полемический тезис А. П. Ершова: «программирование — вторая грамотность». Умение составлять и применять регулярные выражения — вполне посильное и нужное умение даже для будущего параметрического пользователя.

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

Литература

1.                  Семакин И. Г., Мартынова И. Н. Личностные и метапредметные результаты обучения информатике на профильном уровне // Информатика и образование. 2012. № 2. — С.12.

2.                  Смит Билл. Методы и алгоритмы вычислений на строках (regexp) = Computing Patterns in Strings. — М.: «Вильямс», 2006. — 496 с.

3.                  Фридл Дж. Регулярные выражения. — СПб.: «Питер», 2001. — 352 с.

4.                  Ян Гойвертс, Стивен Левитан Регулярные выражения. Сборник рецептов. — СПб.: «Символ-Плюс», 2010. — 608 с.

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


Похожие статьи

Характеристические подходы при распознавании изображений

В данной работе рассматриваются характеристические методы идентификации. Они применяются в распознавании изображений, что является актуальным на сегодняшний день.

Методы выделения ключевых слов в контексте электронных обучающих систем

В работе рассматриваются методы выделения ключевых слов из текстовых документов. Выделены задачи применения данных методов в электронных обучающих системах.

Векторизация слов для нечеткого поиска в вопросно-ответных системах

В статье автор исследует применение векторизации слов для нечеткого поиска в вопросно-ответных системах, путем улучшения точности через современные подходы к векторизации слов и поиск семантически близких слов.

Применение векторизации слов для нечеткого поиска

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

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

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

Использование функциональных зависимостей и нормализации при проектировании баз данных

Статья посвящена использованию функциональных зависимостей и нормализации при проектировании баз данных.

Метод извлечения SAO-структур из текстовых источников

В данной работе предлагается метод для извлечения SAO структур из текстовых данных на основе семантических правил. Предложен алгоритм, который адаптирован для русского языка.

Один из способов реализации компетентностного подхода к обучению геометрии в школе

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

Крайние подходы группировки данных в распознавании образов

В работе рассматривается основные методы группировки данных при «обучении без учителя» (самообучении), т. е. в условии, когда имеется непомеченная выборка.

Проблемы обучения нейронных сетей

В данной статье рассматриваются проблемы, которые могут возникнуть при работе с нейронными сетями, а также способы их устранения.

Похожие статьи

Характеристические подходы при распознавании изображений

В данной работе рассматриваются характеристические методы идентификации. Они применяются в распознавании изображений, что является актуальным на сегодняшний день.

Методы выделения ключевых слов в контексте электронных обучающих систем

В работе рассматриваются методы выделения ключевых слов из текстовых документов. Выделены задачи применения данных методов в электронных обучающих системах.

Векторизация слов для нечеткого поиска в вопросно-ответных системах

В статье автор исследует применение векторизации слов для нечеткого поиска в вопросно-ответных системах, путем улучшения точности через современные подходы к векторизации слов и поиск семантически близких слов.

Применение векторизации слов для нечеткого поиска

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

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

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

Использование функциональных зависимостей и нормализации при проектировании баз данных

Статья посвящена использованию функциональных зависимостей и нормализации при проектировании баз данных.

Метод извлечения SAO-структур из текстовых источников

В данной работе предлагается метод для извлечения SAO структур из текстовых данных на основе семантических правил. Предложен алгоритм, который адаптирован для русского языка.

Один из способов реализации компетентностного подхода к обучению геометрии в школе

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

Крайние подходы группировки данных в распознавании образов

В работе рассматривается основные методы группировки данных при «обучении без учителя» (самообучении), т. е. в условии, когда имеется непомеченная выборка.

Проблемы обучения нейронных сетей

В данной статье рассматриваются проблемы, которые могут возникнуть при работе с нейронными сетями, а также способы их устранения.

Задать вопрос