| (1) | (since C++11) | ||
| (2) | (since C++11) | ||
| (3) | (since C++11) | ||
| (4) | (since C++11) |
format
outputs a format string, replacing any format specifiers or escape sequences in that string with match data from *this
.
1) The format character sequence is defined by the range
[fmt_first, fmt_last)
. The resulting character sequence is copied to out
. 2) The format character sequence is defined by the characters in
fmt
. The resulting character sequence is copied to out
. 3-4) The format character sequence is defined by the characters in
fmt
and fmt_s
respectively. The resulting character sequence is copied to a newly constructed std::basic_string
, which is returned.The flags
bitmask determines which format specifiers and escape sequences are recognized.
The behavior of format
is undefined if ready() != true
.
Parameters
fmt_begin, fmt_end | - | pointers to a range of characters defining the format character sequence |
fmt | - | std::basic_string defining the format character sequence |
fmt_s | - | pointer to a null-terminated character string defining the format character sequence |
out | - | iterator that the resulting character sequence is copied to |
flags | - | std::regex_constants::match_flag_type bitmask specifying which format specifiers and escape sequences are recognized |
Type requirements | ||
- OutputIt must meet the requirements of OutputIterator . |
Return value
1-2)
out
3-4) The newly constructed string containing resulting character sequence.
Exceptions
(none).
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <iostream> #include <string> #include <regex> 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( "$`" // $` means characters before the match "[$&]" // $& means the matched characters "$'" ); // $' means characters following the match std::cout << fmt_s << '\n' ; } } |
Output:
1 | for a good time , call [867-5309] |
See also
(C++11) | replaces occurrences of a regular expression with formatted replacement text (function template) |
(C++11) | options specific to matching (typedef) |
Please login to continue.