Spec-Zone.ru › C++

std::basic_regex

Определено в заголовке <regex>
template<
    class CharT,
    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

Члены-функции

(конструктор)
создаёт объект regex
(публичная функция-член)
(деструктор)
удаляет объект regex
(публичная функция-член)
operator=
присваивает содержимое
(публичная функция-член)
assign
присваивает содержимое
(публичная функция-член)
Наблюдатели
mark_count
возвращает количество помеченных подвыражений в регулярном выражении
(публичная функция-член)
flags
возвращает флаги синтаксиса
(публичная функция-член)
Локали
getloc
получить информацию о локали
(публичная функция-член)
imbue
установить информацию о локали
(публичная функция-член)
Модификаторы
swap
меняет содержимое
(публичная функция-член)

Константы

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

Правила вывода типов(с C++17)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/regex/basic_regex

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API