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 (публичная функция-член) |
|
| присваивает содержимое (публичная функция-член) |
|
| присваивает содержимое (публичная функция-член) |
|
Наблюдатели |
|
| возвращает количество помеченных подвыражений в регулярном выражении (публичная функция-член) |
|
| возвращает флаги синтаксиса (публичная функция-член) |
|
Локали |
|
| получить информацию о локали (публичная функция-член) |
|
| установить информацию о локали (публичная функция-член) |
|
Модификаторы |
|
| меняет содержимое (публичная функция-член) |
|
Константы |
|
| Значение | Эффект(ы) |
|---|---|
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.
Внешние функции
|
(с 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