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

Function template skip

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Function template skip

boost::xpressive::skip — Specify which characters to skip when matching a regex.

Synopsis

// In header: <boost/xpressive/regex_primitives.hpp>

template<typename Skip> unspecified skip(Skip const & skip);

Description

skip() предписывает движку regex пропустить определенные символы при сопоставлении regex. Это наиболее полезно для написания регекса, которые игнорируют белое пространство. Например, следующий указывает регекс, который пропускает белое пространство и пунктуацию:

// A sentence is one or more words separated by whitespace
// and punctuation.
sregex word = +alpha;
sregex sentence = skip(set[_s | punct])( +word );

То, как он работает в приведенном выше примере, состоит в том, чтобы вставить keep(*set [_s | punct]) перед каждым примитивным внутри regex. «примитив» включает в себя такие терминалы, как струны, наборы символов и вложенные regexes. Окончательный *set [_s | punct] добавляется к концу regex. Регекс sentence, указанный выше, эквивалентен следующему:

sregex sentence = +( keep(*set[_s | punct]) >> word )
                       >> *set[_s | punct];
[Note] Note

Скиппинг не влияет на то, как вложенные regexs обрабатываются, потому что они обрабатываются атомно. Стринговые литералы также обрабатываются атомарно; то есть ни один пропуск не делается в строковом литерале. Так что skip(_s)("This that") не то же самое, что skip(_s)("This" >> as_xpr(" that"). Первый будет соответствовать только тогда, когда есть только одно пространство между "это" и "это". Второй пропустит любое и все белое пространство между "это" и "это".

Параметры:

скип

Регекс, который указывает, какие символы пропустить.


PrevUpHomeNext

Статья Function template skip раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 03:32:21/0.0053598880767822/1