Namespaces
Variants

std:: basic_regex

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

class CharT,
class Traits = std:: regex_traits < CharT >

> class basic_regex ;
(начиная с C++11)

Шаблон класса basic_regex предоставляет общую структуру для хранения регулярных выражений.

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

Определено в заголовочном файле <regex>
Тип Определение
std::regex std :: basic_regex < char >
std::wregex std :: basic_regex < wchar_t >

Содержание

Типы членов

Тип члена Определение
value_type CharT
traits_type Traits
string_type Traits::string_type
locale_type Traits::locale_type
flag_type std::regex_constants::syntax_option_type

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

создает объект регулярного выражения
(публичная функция-член)
уничтожает объект регулярного выражения
(public member function)
присваивает содержимое
(public member function)
присваивает содержимое
(публичная функция-член)
Наблюдатели
возвращает количество помеченных подвыражений в регулярном выражении
(публичная функция-член)
возвращает синтаксические флаги
(публичная функция-член)
Локаль
получение информации о локали
(публичная функция-член)
установить информацию о локали
(публичная функция-член)
Модификаторы
обменивает содержимое
(публичная функция-член)

Константы

Опция грамматики Эффект(ы)
ECMAScript Использовать модифицированную грамматику регулярных выражений ECMAScript .
basic Использовать базовую грамматику регулярных выражений POSIX ( документация по грамматике ).
extended Использовать расширенную грамматику регулярных выражений POSIX ( документация по грамматике ).
awk Использовать грамматику регулярных выражений, применяемую утилитой awk в POSIX ( документация по грамматике ).
grep Использовать грамматику регулярных выражений, применяемую утилитой grep в POSIX. По сути, это то же самое, что опция basic с добавлением символа новой строки ' \n ' в качестве разделителя альтернатив.
egrep Использовать грамматику регулярных выражений, применяемую утилитой grep с опцией -E в POSIX. По сути, это то же самое, что опция extended с добавлением символа новой строки ' \n ' в качестве дополнительного разделителя альтернатив наряду с '|' .
Вариант грамматики Эффект(ы)
icase Сравнение символов должно выполняться без учета регистра.
nosubs При выполнении сопоставлений все помеченные подвыражения ( expr ) обрабатываются как непомеченные подвыражения (?: expr ) . Никакие совпадения не сохраняются в предоставленной структуре std::regex_match и mark_count() равен нулю.
optimize Указывает механизму регулярных выражений ускорить сопоставление ценой возможного замедления построения. Например, это может означать преобразование недетерминированного КА в детерминированный КА.
collate Диапазоны символов вида "[a-b]" будут учитывать локаль.
multiline (C++17) Указывает, что ^ должен соответствовать началу строки, а $ должен соответствовать концу строки, если выбран механизм ECMAScript.

Из грамматических опций может быть выбрана не более одной из ECMAScript , basic , extended , awk , grep , egrep . Если грамматика не выбрана, ECMAScript считается выбранной по умолчанию. Остальные опции служат вариациями, так что std :: regex ( "meow" , std :: regex :: icase ) эквивалентно std :: regex ( "meow" , std :: regex :: ECMAScript | std :: regex :: icase ) .

Константы-члены в basic_regex являются дубликатами констант syntax_option_type , определённых в пространстве имён std::regex_constants .

Функции, не являющиеся членами класса

специализирует алгоритм std::swap
(шаблон функции)

Правила вывода (начиная с C++17)