Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Regular Expression Parser

Boost , ,

  Regular Expression Parser

Регулярные выражения — это форма сопоставления шаблонов, которая часто используется при обработке текста. Многие пользователи знакомы с использованием регулярных выражений. Первоначально были утилиты Unix grep, sed и awk, а также перл языка программирования, каждый из которых широко использует регулярные выражения. Сегодня использование таких регулярных выражений интегрировано во многие более доступные системы.

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

Парсер регулярного выраженияrxstrlitимеет один параметр типа шаблона: тип итератора. Внутриrxstrlitсодержит объект Boost Regex, содержащий предоставленное регулярное выражение.rxstrlitпытается сопоставить текущий входной поток с этим обычным выражением. Параметр типа шаблона по умолчаниюchar const.rxstrlitимеет два конструктора. Первый принимает нулевой указатель персонажа. Этот конструктор может быть использован для построенияrxstrlitиз цитируемых букв регулярных выражений. Второй конструктор принимает первую/последнюю пару итераторов. Функциональный генераторregex_p.

Вот несколько примеров:

    rxstrlit<>("Hello[[:space:]]+[W|w]orld")
    regex_p("Hello[[:space:]]+[W|w]orld")
    std::string msg("Hello[[:space:]]+[W|w]orld");
    rxstrlit<>(msg.begin(), msg.end());

Сгенерированный объект парсера действует на уровне символа, поэтому в конечном итоге данный парсер пропуска не используется во время попытки соответствовать регулярному выражению (см.Бизнес сканера).

Регулярная экспрессия Parser реализована с помощью библиотекиBoost Regex++, поэтому вам нужно иметь в виду некоторые ограничения.

Библиотеки Boost должны быть установлены на вашем компьютере, а корневой каталог Boost должен быть добавлен в ваш компилятор#include<...>путь поиска. Вы можете скачать актуальную версию на сайтеBoost.

Библиотека Boost Regex требует использования двунаправленных итераторов. Таким образом, вы должны убедиться в этом во время использования парсера Духа, который содержит Парсер регулярного выражения.

Библиотека Boost Regex не является библиотекой только заголовка, как это делает Spirit, хотя она предоставляет возможность включать все источники, если вы используете ее только в одном блоке компиляции. Определить константу препроцессораBOOST_SPIRIT_NO_REGEX_LIBперед включением заголовка Parser, если вы хотите включить все источники Boost Regex в этот блок компиляции. Если вы используете Парсер регулярных выражений более чем в одном компиляционном блоке, вы не должны определять эту константу и должны связать ваше приложение с библиотекой регексов, как описано в соответствующей документации.

См.regular_expression.cppдля компилируемого примера. Это часть духовного распределения.



Статья Regular Expression Parser раздела может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 05:23:37/0.0054969787597656/1