это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
Ознакомительный фрагмент работы:
Фильтрация строк с использованием автоматов
Alexander Babaev
Необходимость фильтрации строк
Строки используются очень часто. А применимо к Интернет-программированию можно сказать, что строки используются постоянно. Любой ответ сервера – это строка, запрос клиента – тоже строка. Работа с XML-файлами – это опять работа со строками, пускай и очень формализованная. Поэтому необходимо уметь быстро и эффективно обрабатывать строковые данные. Основная операция, которая используется – это конкатенация (слияние). Она реализована для всего, чего угодно и обычно очень прозрачна. Вторая же операция – это изменение строк. И тут мнения относительно того, что использовать, расходятся.
Стандартные методы фильтрации строк
Для начала вспомним, как происходит работа со строками в обычной программе. Используется несколько методов. Первый можно назвать классическим. В этом случае для получения результата используются стандартные операции поиска, замены, конкатенации и удаления частей строки. Такой метод оправдан для быстрого решения самых простых задач, но как только требуется реализовать что-нибудь более-менее сложное, мгновенно начинаются проблемы. Кроме того, этот способ совершенно не масштабируется и очень сложно изменяется.
Второй метод – использование регулярных выражений (регэкспов). Подробно рассматривать их не имеет смысла, есть отличная книга Дж. Фридла [1], в которой все подробно описано, в том числе и применимо к Java. Достоинства подхода заключаются в том, что регулярные выражения стандартизованы, обладают огромнейшими возможностями и очень компактно записываются. То есть если вы научились использовать регулярные выражения в Perl или PHP, вам ничего не стоит использовать их в Java (хотя все равно приходится каждый раз выяснять нюансы реализации). Самый главный недостаток – сложность, которая произрастает из огромной мощности регулярных выражений. Простые регэкспы может понять даже начинающий программист, но более-менее сложные начинающему уже не по зубам. Регэкспы же, подобные представленному в листинге 1, не поймет никто даже при очень большом желании (в листинге представлена примерно восьмая часть регулярного выражения, предназначенного для проверки корректности e-mail адреса и его соответствия RFC). Впрочем, есть люди, которые «читают» регулярные выражения «с листа». Данный пример не совсем показателен в том смысле, что и программа, выполняющая аналогичную функцию, будет очень и очень сложна. Но есть и гораздо более простые задачи, (примеры таких задач будут рассмотрены ниже), в которых регулярные выражения использовать так же неудобно.
Листинг 1.Часть регулярного выражения, предназначенного для проверки корректности e-mail адреса, соответствия его RFC.
^[ 40t]*(?:([^\x80-xffn 15()]*(?:(?:\[^x80- xff]|([^\x80-xffn 15()]*(?:\[^x80-xff][^\x80- xffn 15()]*)*))[^\x80- xffn 15()]*)*)[ 40t]*)*(?:(?:[^( 40)<>@,;:".\[] 00- |
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
автомобильный комплекс
Реферат, Введение в профессиональную деятельность, автомобильное дело, детали машин
Срок сдачи к 26 янв.
Два задания. Описание задания находится в прикрепленных файлах.
Курсовая, Строительство и эксплуатация зданий и сооружений
Срок сдачи к 12 февр.
Экз в 9 утра. На экзамене будет практическая задача
Онлайн-помощь, Инженерная графика
Срок сдачи к 24 янв.
Организация социальной работы со студенческой молодежью в учебном заведении (на примере чоу во всиэп)
Диплом, Социальная работа
Срок сдачи к 28 янв.
Доклад 5-7 стр+ презентация
Доклад, Автоматизация технологических процессов и производств
Срок сдачи к 24 янв.
Тема "пожарная опасность промышленного предприятия"
Курсовая, Пожарная профилактика
Срок сдачи к 10 февр.
Создание инженерно-топографического плана для получения разрешения...
Диплом, землеустройство
Срок сдачи к 5 февр.
Роль медсестры в проведении первичной и вторичной профилактики гипертонической болезни.
Курсовая, Медицина
Срок сдачи к 1 апр.
нужно пройти тест, срочно!!!
Тест дистанционно, Механические и физические свойства материалов
Срок сдачи к 24 янв.
Тема: Синдром первичного иммунодефицита объем 20 страниц
Реферат, безопасность жизнедеятельности
Срок сдачи к 24 янв.
Прикладываю условия задания, при личной переписке отправлю примеры...
Решение задач, Программирование С++
Срок сдачи к 24 янв.
Заполните форму и узнайте цену на индивидуальную работу!