std:: basic_regex
|
Определено в заголовке
<regex>
|
||
|
template
<
class
CharT,
|
(начиная с 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
.
Функции, не являющиеся членами класса
|
(C++11)
|
специализирует алгоритм
std::swap
(шаблон функции) |