std::regex_replace
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Определено в заголовочном файле <regex>
|
||
template< class OutputIt, class BidirIt, class Traits, class CharT, |
(1) | (начиная с C++11) |
template< class OutputIt, class BidirIt, class Traits, class CharT > |
(2) | (начиная с C++11) |
template< class Traits, class CharT, class STraits, class SAlloc, |
(3) | (начиная с C++11) |
template< class Traits, class CharT, class STraits, class SAlloc > |
(4) | (начиная с C++11) |
template< class Traits, class CharT, class STraits, class SAlloc > |
(5) | (начиная с C++11) |
template< class Traits, class CharT > std::basic_string<CharT> |
(6) | (начиная с C++11) |
i
как бы std::regex_iterator<BidirIt, CharT, traits> i(first, last, e, flags), и использует его для пошагового каждый матч e
в последовательности [first,last)
. Для каждого такого m
матч, копирует не соответствием подпоследовательность (m.prefix()
) в out
как есть, а затем заменяет соответствует последовательности с отформатированную строку замены как при вызове m.format(out, fmt, flags). Когда больше нет совпадения найдены, копирует оставшиеся не соответствием символов out
.i
as if by std::regex_iterator<BidirIt, CharT, traits> i(first, last, e, flags), and uses it to step through every match of e
within the sequence [first,last)
. For each such match m
, copies the non-matched subsequence (m.prefix()
) into out
as-is and then replaces the matched subsequence with the formatted replacement string as if by calling m.format(out, fmt, flags). When no more matches are found, copies the remaining non-matched characters to out
.Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
out
как есть.out
as-is.Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
flags
содержит std::regex_constants::format_no_copy, не соответствием подпоследовательности не копируются в out
.flags
contains std::regex_constants::format_no_copy, the non-matched subsequences are not copied into out
.Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
flags
содержит std::regex_constants::format_first_only, только первый матч заменить.flags
contains std::regex_constants::format_first_only, only the first match is replaced.Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
result
типа std::basic_string<CharT, ST, SA> и вызывает std::regex_replace(std::back_inserter(result), s.begin(), s.end(), e, fmt, flags).result
of type std::basic_string<CharT, ST, SA> and calls std::regex_replace(std::back_inserter(result), s.begin(), s.end(), e, fmt, flags).Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
result
типа std::basic_string<CharT> и вызывает std::regex_replace(std::back_inserter(result), s, s + std::char_traits<CharT>::length(s), e, fmt, flags).result
of type std::basic_string<CharT> and calls std::regex_replace(std::back_inserter(result), s, s + std::char_traits<CharT>::length(s), e, fmt, flags).Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Содержание |
[править] Параметры
first, last | - | входная последовательность символов, представленных в виде пары итераторов
Оригинал: the input character sequence, represented as a pair of iterators Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
s | - | входная последовательность символов, представленных в виде STD :: basic_string или массив символов
Оригинал: the input character sequence, represented as std::basic_string or character array Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
e | - | зЬй :: basic_regex, которые будут сопоставляться с входной последовательности
Оригинал: the std::basic_regex that will be matched against the input sequence Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
flags | - | Матч флагов типа std::regex_constants::match_flag_type
Оригинал: the match flags of type std::regex_constants::match_flag_type Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
fmt | - | Формат регулярных выражений замены строки, синтаксис, зависит от величины
flags Оригинал: the regex replacement format string, exact syntax depends on the value of flags Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
out | - | Выход итератора для хранения результате замены
Оригинал: output iterator to store the result of the replacement Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
Требования к типам | ||
-OutputIt должен соответствовать требованиям OutputIterator .
| ||
-BidirIt должен соответствовать требованиям BidirectionalIterator .
|
[править] Возвращаемое значение
out
.out
.Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
result
выходных.result
which contains the output.Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
[править] Исключения
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
[править] Пример
#include <iostream> #include <regex> #include <string> int main() { std::string text = "Quick brown fox"; std::regex vowel_re("a|o|e|u|i"); std::cout << std::regex_replace(text, vowel_re, "[$&]") << '\n'; }
Вывод:
Q[u][i]ck br[o]wn f[o]x
[править] См. также
(C++11) |
Попытки соответствовать регулярное выражение в любую часть последовательности символов Оригинал: attempts to match a regular expression to any part of the character sequence Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. (шаблон функции) |
(C++11) |
опций, специфичных для сравнения Оригинал: options specific to matching Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. (определение типа) |