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 | Элемент, следующий за последним элементом последовательности сопоставления. (общедоступный объект-член) |
Функции-члены
| создаёт объект сопоставления (общедоступная функция-член) |
|
Наблюдатели |
|
| возвращает длину совпадения (если оно есть) (общедоступная функция-член) |
|
| преобразует в базовый тип строки (общедоступная функция-член) |
|
| сравнивает сопоставленную подпоследовательность (если она есть) (общедоступная функция-член) |
|
Функции вне класса
|
(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в C++20)(удалено в C++20)(C++20) | сравнивает sub_match с другим sub_match, строкой или символом (шаблон функции) |
| выводит сопоставленную подпоследовательность символов (шаблон функции) |
См. также
|
(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