std::match_results<BidirIt,Alloc>:: format
|
template
<
class
OutputIt
>
OutputIt format
(
OutputIt out,
|
(1) | (начиная с C++11) |
|
template
<
class
OutputIt,
class
ST,
class
SA
>
OutputIt format
(
OutputIt out,
|
(2) | (начиная с C++11) |
|
template
<
class
ST,
class
SA
>
std::
basic_string
<
char_type,ST,SA
>
|
(3) | (начиная с C++11) |
|
string_type format
(
const
char_type
*
fmt_s,
std::
regex_constants
::
match_flag_type
flags
=
|
(4) | (начиная с C++11) |
format
выводит строку формата, заменяя любые спецификаторы формата или escape-последовательности в этой строке данными соответствия из
*
this
.
[
fmt_first
,
fmt_last
)
. Результирующая последовательность символов копируется в
out
.
Битовая маска flags определяет, какие спецификаторы формата и escape-последовательности распознаются.
Поведение
format
не определено, если
ready
(
)
!
=
true
.
Содержание |
Параметры
| fmt_begin, fmt_end | - | указатели на диапазон символов, определяющих последовательность символов формата |
| fmt | - | std::basic_string определяющая последовательность символов формата |
| fmt_s | - | указатель на строку символов с нулевым завершением, определяющую последовательность символов формата |
| out | - | итератор, в который копируется результирующая последовательность символов |
| flags | - | std::regex_constants::match_flag_type битовая маска, определяющая, какие спецификаторы формата и escape-последовательности распознаются |
| Требования к типам | ||
-
OutputIt
должен удовлетворять требованиям
LegacyOutputIterator
.
|
||
Возвращаемое значение
Исключения
Может генерировать исключения, определяемые реализацией.
Пример
#include <iostream> #include <regex> #include <string> int main() { std::string s = "for a good time, call 867-5309"; std::regex phone_regex("\\d{3}-\\d{4}"); std::smatch phone_match; if (std::regex_search(s, phone_match, phone_regex)) { std::string fmt_s = phone_match.format( "$`" // $` означает символы перед совпадением "[$&]" // $& означает совпавшие символы "$'"); // $' означает символы после совпадения std::cout << fmt_s << '\n'; } }
Вывод:
for a good time, call [867-5309]
Смотрите также
|
(C++11)
|
заменяет вхождения регулярного выражения форматированным текстом замены
(шаблон функции) |
|
(C++11)
|
параметры, специфичные для сопоставления
(определение типа) |