Spec-Zone.ru › C++

std::sub_match

Определено в заголовке <regex>
template< class BidirIt >
class sub_match;
(с C++11)

Шаблон класса std::sub_match используется движком регулярных выражений для обозначения последовательностей символов, сопоставленных помеченными подвыражениями. Сопоставление — это [begin, end) пара в целевом диапазоне, сопоставленном с регулярным выражением, но с дополнительными наблюдаемыми функциями для повышения ясности кода.

Доступен только конструктор по умолчанию. Экземпляры std::sub_match обычно создаются и заполняются как часть контейнера std::match_results во время обработки одного из алгоритмов regex.

Функции-члены возвращают определенные значения по умолчанию, если член matched не true.

std::sub_match унаследован от std::pair<BidirIt, BidirIt>, хотя его нельзя рассматривать как объект std::pair , так как функции-члены, такие как присваивание, не будут работать как ожидается.

Требования к типу

-BidirIt должен удовлетворять требованиям LegacyBidirectionalIterator.

Специализации

Предоставляются несколько специализаций для распространённых типов последовательностей символов:

Определено в заголовке <regex>
Тип Определение
std::csub_match std::sub_match<const char*>
std::wcsub_match std::sub_match<const wchar_t*>
std::ssub_match std::sub_match<std::string::const_iterator>
std::wssub_match std::sub_match<std::wstring::const_iterator>

Типы-члены

Тип-член Определение
iterator BidirIt
value_type std::iterator_traits<BidirIt>::value_type
difference_type std::iterator_traits<BidirIt>::difference_type
string_type std::basic_string<value_type>

Объекты-члены

bool matched
Указывает, было ли это сопоставление успешным
(общедоступный объект-член)

Унаследовано от std::pair

BidirIt first
Начало последовательности сопоставления.
(общедоступный объект-член)
BidirIt second
Элемент, следующий за последним элементом последовательности сопоставления.
(общедоступный объект-член)

Функции-члены

(конструктор)
создаёт объект сопоставления
(общедоступная функция-член)
Наблюдатели
length
возвращает длину совпадения (если оно есть)
(общедоступная функция-член)
stroperator string_type
преобразует в базовый тип строки
(общедоступная функция-член)
compare
сравнивает сопоставленную подпоследовательность (если она есть)
(общедоступная функция-член)

Функции вне класса

operator==operator!=operator<operator<=operator>operator>=operator<=>
(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в C++20)(C++20)
сравнивает sub_match с другим sub_match, строкой или символом
(шаблон функции)
operator<<
выводит сопоставленную подпоследовательность символов
(шаблон функции)

См. также

regex_token_iterator
(C++11)
итерирует по указанным подвыражениям во всех совпадениях regex в данной строке или по несопоставленным подстрокам
(шаблон класса)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/regex/sub_match

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API