regex_replace 関数
与えられた入力シーケンス、正規表現、および書式化文字列、書式化オブジェクト、関数、式に対して出力シーケンスを構築する。
-
template<typename OutIter, typename BidiIter, typename Formatter>
OutIter regex_replace(OutIter out, BidiIter begin, BidiIter end, basic_regex<BidiIter> const &re, Formatter const &format, regex_constants::match_flag_type flags = regex_constants::match_default, unspecified = 0) -
template<typename OutIter, typename BidiIter>
OutIter regex_replace(OutIter out, BidiIter begin, BidiIter end, basic_regex<BidiIter> const &re, typename iterator_value<BidiIter>::type const *format, regex_constants::match_flag_type flags = regex_constants::match_default) -
template<typename BidiContainer, typename BidiIter, typename Formatter>
BidiContainer regex_replace(BidiContainer &str, basic_regex<BidiIter> const &re, Formatter const &format, regex_constants::match_flag_type flags = regex_constants::match_default, unspecified = 0) -
template<typename BidiContainer, typename BidiIter, typename Formatter>
BidiContainer regex_replace(BidiContainer const &str, basic_regex<BidiIter> const &re, Formatter const &format, regex_constants::match_flag_type flags = regex_constants::match_default, unspecified = 0) -
template<typename Char, typename Formatter>
std::basic_string<typename remove_const<Char>::type> regex_replace(Char *str, basic_regex<Char*> const &re, Formatter const &format, regex_constants::match_flag_type flags = regex_constants::match_default, unspecified = 0) -
template<typename BidiContainer, typename BidiIter>
BidiContainer regex_replace(BidiContainer &str, basic_regex<BidiIter> const &re, typename iterator_value<BidiIter>::type const *format, regex_constants::match_flag_type flags = regex_constants::match_default, unspecified = 0) -
template<typename BidiContainer, typename BidiIter>
BidiContainer regex_replace(BidiContainer const &str, basic_regex<BidiIter> const &re, typename iterator_value<BidiIter>::type const *format, regex_constants::match_flag_type flags = regex_constants::match_default, unspecified = 0) -
template<typename Char>
std::basic_string<typename remove_const<Char>::type> regex_replace(Char *str, basic_regex<Char*> const &re, typename add_const<Char>::type *format, regex_constants::match_flag_type flags = regex_constants::match_default) regex_iterator< BidiIter > i
(begin, end, re, flags) でregex_iterator
オブジェクトを構築し、シーケンス[begin, end)
に現れるmatch_results< BidiIter >
型のマッチm
すべてをi
を使って列挙する。マッチが見つからず、かつ !(flags & format_no_copy) であれば std::copy(begin, end, out) を呼び出す。それ以外の場合は、見つかった各マッチについて !(flags & format_no_copy) であれば std::copy(m.prefix().first, m.prefix().second, out) を呼び出し、次に m.format(out, format, flags) を呼び出す。最後に !(flags & format_no_copy) であれば std::copy(last_m.suffix().first, last_m.suffix().second, out) を呼び出す(last_m
は最後に見つかったマッチのコピー)。flags & format_first_only が非ゼロの場合は、最初に見つかったマッチのみを置換する。
- パラメータ
begin -- 入力シーケンスの先頭。
end -- 入力シーケンスの終端。
flags -- 正規表現をシーケンスに対してどのようにマッチさせるか制御する、省略可能なマッチフラグ(
match_flag_type
を見よ)。format -- 置換シーケンスを整形する書式化文字列。または書式化関数、オブジェクト、式。
out -- 出力シーケンスを書き込む出力イテレータ。
re -- 使用する正規表現オブジェクト。
- 要件
BidiIter
が双方向イテレータ(24.1.4)の要件を満たす。- 要件
OutIter
が出力イテレータ(24.1.2)の要件を満たす。- 要件
Formatter
型がForwardRange
、Callable<match_results<BidiIter> >, Callable<match_results<BidiIter>, OutIter>
あるいはCallable<match_results<BidiIter>, OutIter, regex_constants::match_flag_type>
のいずれか。または null 終端書式化文字列か書式化ラムダ式を表す式テンプレート。- 要件
[begin, end)
が有効なイテレータ範囲を表す。- 戻り値
出力シーケンスを書き込んだ後の出力イテレータ。
- 例外
regex_error -- スタックが枯渇した、または書式化文字列が不正な場合