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 |
Функции-члены
| создаёт объект регулярного выражения (открытая функция-член) |
|
| уничтожает объект регулярного выражения (открытая функция-член) |
|
| присваивает содержимое (открытая функция-член) |
|
| присваивает содержимое (открытая функция-член) |
|
Наблюдатели |
|
| возвращает количество отмеченных подвыражений в регулярном выражении (открытая функция-член) |
|
| возвращает флаги синтаксиса (открытая функция-член) |
|
Локаль |
|
| получает сведения о локали (открытая функция-член) |
|
| задаёт сведения о локали (открытая функция-член) |
|
Модификаторы |
|
| обменивает содержимое (открытая функция-член) |
|
Константы |
|
| Вариант грамматики | Действие |
|---|---|
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.
Функции, не являющиеся членами
|
(C++11) | специализирует алгоритм std::swap (шаблон функции) |
Руководства по выводу типов(начиная с C++17)
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/regex/basic_regex