Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Регулярные выражения
Регулярные выражения — система поиска текстовых фрагментов в электронных документах, основанная на специальной системе записи образцов для поиска. Образец, задающий правило поиска, называется «шаблоном». Применение регулярных выражений принципиально преобразило технологии электронной обработки текстов. С помощью регулярных выражений можно задавать структуру искомого шаблона и его позицию внутри строки (например, в начале или в конце строки, на границе или не на границе слова). При описании структуры шаблона используются: - гибкая система квантификаторов (операторов повторения); - операторы описания наборов символов и их типа (числовые, нечисловые, специальные). Для того, чтобы задать положение искомого фрагмента внутри строки, можно использовать один из следующих операторов:
Кроме того, язык регулярных выражений предоставляет набор квантификаторов, позволяющих указать число повторений шаблона:
Имеются и более простые квантификаторы:
Для задания внутри шаблона группы символом можно использовать следующие операторы:
Для группировки отдельных частей шаблона можно использовать следующие операторы:
Если шаблон поиска включает специальные (как правило, неотображаемые) символы, для их описания можно использовать следующие обозначения:
Квантификаторам в регулярных выражениях соответствует максимально длинная строка из возможных (т.е. квантификаторы являются «жадными»). Это может приводить к некоторым проблемам. Например, шаблон (<.*>) описывающий на первый взгляд теги HTML на самом деле будет выделять более крупные фрагменты в документе. Например, строка вида <p><font color=’blue’><i>Регулярные выражения<i></font> - удобный инструмент для поиска в строках </p>
формально соответствует указанному выше шаблону Для решения данной проблемы можно использовать два подхода. 1. В регулярном выражении учитываются символы, не соответствующие желаемому образцу (например, <[^>]*> для вышеописанного случая). 2. Определение квантификатора как нежадного (ленивого) - большинство реализаций позволяют это сделать, добавив после него знак вопроса. Например, по шаблону (<.*?>) будут найдены все теги из рассмотренной строки. Таким образом, получаются следующие «нежадные» модификации квантификаторов:
Следует, однако, иметь в виду, что использование «ленивых» квантификаторов может привести к ситуации, когда выражению соответствует слишком короткая, в частности, пустая строка. Date: 2015-09-18; view: 481; Нарушение авторских прав |