std::match_results<BidirIt,Alloc>::format
De cppreference.com
template< class OutputIt >
OutputIt format( OutputIt out,
const char_type* fmt_first, const char_type* fmt_last,
std::regex_constants::match_flag_type flags =
std::regex_constants::format_default ) const;
|
(1) | (desde C++11) |
template< class OutputIt, class ST, class SA >
OutputIt format( OutputIt out,
const basic_string<char_type,ST,SA>& fmt,
std::regex_constants::match_flag_type flags =
std::regex_constants::format_default ) const;
|
(2) | (desde C++11) |
template< class ST, class SA >
std::basic_string<char_type,ST,SA>
format( const std::basic_string<char_type,ST,SA>& fmt,
std::regex_constants::match_flag_type flags =
std::regex_constants::format_default ) const;
|
(3) | (desde C++11) |
string_type format( const char_type* fmt_s,
std::regex_constants::match_flag_type flags =
std::regex_constants::format_default ) const;
|
(4) | (desde C++11) |
format emite una cadena de formato, reemplazando cualquier especificador de formato o secuencia de escape en esa cadena con datos coincidentes de *this.
1) La secuencia de caracteres de formato está definida por el rango
[fmt_first, fmt_last). La secuencia de caracteres resultante se copia en out.2) La secuencia de caracteres de formato está definida por los caracteres en
fmt. La secuencia de caracteres resultante se copia en out.3-4) La secuencia de caracteres de formato está definida por los caracteres en
fmt y fmt_s respectivamente. La secuencia de caracteres resultante se copia en un objeto std::basic_string recién construido, que se devuelve.La máscara de bits flags determina qué especificadores de formato y secuencias de escape se reconocen.
El comportamiento de format no está definido si ready() != true.
Parámetros
| fmt_begin, fmt_end | - | Punteros a un rango de caracteres que definen la secuencia de caracteres de formato. |
| fmt | - | Un objeto std::basic_string que define la secuencia de caracteres de formato. |
| fmt_s | - | Puntero a una cadena de caracteres terminada en nulo que define la secuencia de caracteres de formato. |
| out | - | Iterador en el que se copia la secuencia de caracteres resultante. |
| flags | - | Máscara de bits std::regex_constants::match_flag_type que especifica qué especificadores de formato y secuencias de escape se reconocen. |
| Requisitos de tipo | ||
-OutputIt debe satisfacer los requisitos de OutputIterator.
| ||
Valor de retorno
1-2)
out3-4) La cadena recién construida que contiene la secuencia de caracteres resultante.
Excepciones
Puede lanzar excepciones definidas por la implementación.
Ejemplo
Ejecuta este código
#include <iostream>
#include <string>
#include <regex>
int main()
{
std::string s = "para pasarla bien, llama al 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(
"$`" // $` significa los caracteres antes de la coincidencia
"[$&]" // $& significa los caracteres coincidentes
"$'"); // $' significa los caracteres que siguen a la coincidencia
std::cout << fmt_s << '\n';
}
}
Salida:
para pasarla bien, llama al [867-5309]
Véase también
(C++11) |
Reemplaza las apariciones de una expresión regular con texto de reemplazo formateado. (plantilla de función) |
(C++11) |
Opciones específicas para coincidencias. (typedef) |