русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Классификация регулярных выражений


Дата добавления: 2015-07-09; просмотров: 859; Нарушение авторских прав


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

По историческим причинам регулярные выражения подразделяются на:

r обычные регулярные выражения (basic regexp);

r регулярные выражения с расширенным синтаксисом (extended regexp).

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

Метасимволы, составляющие регулярные выражения, представлены двумя классами: шаблонами и квантификаторами.

Шаблоны — специальные символы, заменяющие один или более обычных символов.

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


 

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

В табл. 9.1 приведены наиболее общеупотребительные регулярные выражения.

 

Таблица 9.1. Регулярные выражения

Метасим- вол Класс Расширен- ный Описание
^ Шаблон   Начало строки
$ Шаблон   Конец строки
\< Шаблон * Начало слова
\> Шаблон * Конец слова
. Шаблон   Любой символ, включая пробел
[] Шаблон   Набор символов
() Шаблон * Группировка символов
| Шаблон * Инфиксный оператор (или)
* Квантификатор   Вхождение любое количество раз
+ Квантификатор * Вхождение не менее одного раза
? Квантификатор * Вхождение не более одного раза
{n} Квантификатор * Вхождение n раз
{n,} Квантификатор * Вхождение не менее n раз
{n,m} Квантификатор * Вхождение от n до m раз

Помимо перечисленных регулярных выражений имеется несколько расши- ренных их наборов. Например, в языке Perl используется больше регулярных выражений.



Множества символов, задаваемые в квадратных скобках, имеют следующий смысл: в данном месте должен находиться один любой символ из входящих во множество. Например, множество [0-3] включает в себя все числа от нуля до трех, а регулярному выражению ^[0-3]$ удовлетворяют все строки, в ко- торых находится единственный символ — число от нуля до трех (^ — начало строки, $ — конец строки).

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


 

Таблица 9.2. Заранее определенные множества символов

Класс Значение
[:alnum:] Множество алфавитно-цифровых символов
[:alpha:] Алфавитные символы
[:blank:] Пустые символы — пробел и табуляция
[:cntrl:] Символы с восьмеричными кодами от 000 до 037 и 177
[:digit:] Десятичные цифры
[:graph:] Изображаемые символы: алфавитно-цифровые и пунктуация
[:lower:] Буквы в нижнем регистре
[:print:] Печатаемые символы: алфавитно-цифровые, пробел и пунктуация
[:space:] Табуляция, вертикальная табуляция, пробел, перевод строки
[:upper:] Буквы в верхнем регистре
[:xdigit:] Шестнадцатеричные символы


<== предыдущая лекция | следующая лекция ==>
ЗАДАНИЯ | ЗАДАНИЯ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.452 сек.