Namespaces
Variants

std:: match_results

From cppreference.net
Regular expressions library
Classes
(C++11)
match_results
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
Определено в заголовочном файле <regex>
template <

class BidirIt,
class Alloc = std:: allocator < std:: sub_match < BidirIt >>

> class match_results ;
(1) (начиная с C++11)
namespace pmr {

template < class BidirIt >
using match_results = std :: match_results < BidirIt,
std:: pmr :: polymorphic_allocator <
std:: sub_match < 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)
лексикографически сравнивает значения в двух результатах сопоставления
(шаблон функции)
специализирует алгоритм std::swap
(шаблон функции)