Пространства имён
Варианты
Действия

std::basic_regex

Материал из cppreference.com
< cpp‎ | regex
 
 
Библиотека регулярных выражений
Классы
basic_regex
(C++11)
(C++11)
Алгоритмы
Итераторы
Исключения
Типы
Константы
(C++11)
Грамматика регулярных выражений
 
std::basic_regex
Функции-элементы
Наблюдатели
Локаль
Модификаторы
Константы
Функции, не являющиеся элементами
Принципы вывода (C++17)
 
Определено в заголовочном файле <regex>
template <

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

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

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

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

Определены в заголовочном файле <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 функция-элемент) [править]
разрушает объект регулярного выражения
(public функция-элемент) [править]
присваивает содержимое
(public функция-элемент) [править]
присваивает содержимое
(public функция-элемент) [править]
Наблюдатели
возвращает количество отмеченных подвыражений в регулярном выражении
(public функция-элемент) [править]
возвращает флаги синтаксиса
(public функция-элемент) [править]
Локаль
получает информацию о локали
(public функция-элемент) [править]
устанавливает информацию о локали
(public функция-элемент) [править]
Модификаторы
обменивает содержимое
(public функция-элемент) [править]

Константы

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

Необходимо выбрать не более одного варианта грамматики из 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)