std:: match_results
|
Определено в заголовочном файле
<regex>
|
||
|
template
<
class
BidirIt,
|
(1) | (начиная с C++11) |
|
namespace
pmr
{
template
<
class
BidirIt
>
|
(2) | (начиная с C++17) |
Шаблон класса
std::match_results
содержит коллекцию символьных последовательностей, представляющих результат сопоставления с регулярным выражением.
Это специализированный контейнер с поддержкой аллокаторов. Он может быть только создан по умолчанию, получен из
std::regex_iterator
или изменён с помощью
std::regex_search
или
std::regex_match
. Поскольку
std::match_results
содержит
std::sub_match
, каждый из которых является парой итераторов в исходной последовательности символов, которая была сопоставлена, поведение не определено при анализе
std::match_results
, если исходная последовательность символов была уничтожена или итераторы к ней были инвалидированы по другим причинам.
Первый
std::sub_match
(индекс 0), содержащийся в
std::match_result
, всегда представляет полное совпадение в целевой последовательности, найденное регулярным выражением, а последующие
std::sub_match
представляют совпадения подвыражений, соответствующие по порядку левым скобкам, ограничивающим подвыражения в регулярном выражении.
std::match_results
удовлетворяет требованиям
AllocatorAwareContainer
и
SequenceContainer
, за исключением того, что поддерживаются только операции копирующего присваивания, перемещающего присваивания и операции, определённые для константных контейнеров, а также семантика функций сравнения отличается от требуемой для контейнера.
Содержание |
Требования к типам
-
BidirIt
должен удовлетворять требованиям
LegacyBidirectionalIterator
.
|
||
-
Alloc
должен удовлетворять требованиям
Allocator
.
|
Специализации
Для распространённых типов символьных последовательностей предоставлены несколько специализаций:
|
Определено в заголовочном файле
<regex>
|
|
| Тип | Определение |
std::cmatch
|
std :: match_results < const char * > |
std::wcmatch
|
std :: match_results < const wchar_t * > |
std::smatch
|
std :: match_results < std :: string :: const_iterator > |
std::wsmatch
|
std :: match_results < std :: wstring :: const_iterator > |
std::pmr::cmatch
(C++17)
|
std :: pmr :: match_results < const char * > |
std::pmr::wcmatch
(C++17)
|
std :: pmr :: match_results < const wchar_t * > |
std::pmr::smatch
(C++17)
|
std :: pmr :: match_results < std :: string :: const_iterator > |
std::pmr::wsmatch
(C++17)
|
std :: pmr :: match_results < std :: wstring :: const_iterator > |
Типы членов
| Тип члена | Определение |
allocator_type
|
Allocator
|
value_type
|
std:: sub_match < BidirIt > |
const_reference
|
const value_type & |
reference
|
value_type&
|
const_iterator
|
определяется реализацией (зависит от базового контейнера) |
iterator
|
const_iterator
|
difference_type
|
std:: iterator_traits < BidirIt > :: difference_type |
size_type
|
std:: allocator_traits < Alloc > :: size_type |
char_type
|
std:: iterator_traits < BidirIt > :: value_type |
string_type
|
std:: basic_string < char_type > |
Функции-члены
|
создает объект
(public member function) |
|
|
уничтожает объект
(public member function) |
|
|
присваивает содержимое
(public member function) |
|
|
возвращает связанный аллокатор
(public member function) |
|
Состояние |
|
|
проверяет, доступны ли результаты
(public member function) |
|
Размер |
|
|
проверяет, был ли поиск успешным
(public member function) |
|
|
возвращает количество совпадений в полностью установленном состоянии результата
(public member function) |
|
|
возвращает максимально возможное количество подсовпадений
(public member function) |
|
Доступ к элементам |
|
|
возвращает длину конкретного подсовпадения
(public member function) |
|
|
возвращает позицию первого символа конкретного подсовпадения
(public member function) |
|
|
возвращает последовательность символов для конкретного подсовпадения
(public member function) |
|
|
возвращает указанное подсовпадение
(public member function) |
|
|
возвращает подпоследовательность между началом целевой последовательности и началом полного совпадения
(public member function) |
|
|
возвращает подпоследовательность между концом полного совпадения и концом целевой последовательности
(public member function) |
|
Итераторы |
|
|
возвращает итератор на начало списка подсовпадений
(public member function) |
|
|
возвращает итератор на конец списка подсовпадений
(public member function) |
|
Форматирование |
|
|
форматирует результаты поиска для вывода
(public member function) |
|
Модификаторы |
|
|
обменивает содержимое
(public member function) |
|
Функции, не являющиеся членами класса
|
(удалено в C++20)
|
лексикографически сравнивает значения в двух результатах сопоставления
(шаблон функции) |
|
(C++11)
|
специализирует алгоритм
std::swap
(шаблон функции) |