std::regex_iterator<BidirIt,CharT,Traits>:: regex_iterator
|
regex_iterator
(
)
;
|
(1) | (seit C++11) |
|
regex_iterator
(
BidirIt a, BidirIt b,
const
regex_type
&
re,
|
(2) | (seit C++11) |
|
regex_iterator
(
const
regex_iterator
&
)
;
|
(3) | (seit C++11) |
|
regex_iterator
(
BidirIt, BidirIt,
const
regex_type
&&
,
|
(4) | (seit C++11) |
Konstruiert einen neuen
regex_iterator
:
regex_iterator
aus der Zeichensequenz
[
a
,
b
)
, dem regulären Ausdruck
re
und einem Flag
m
, das das Suchverhalten steuert. Dieser Konstruktor führt einen initialen Aufruf von
std::regex_search
mit diesen Daten durch. Wenn das Ergebnis dieses initialen Aufrufs
false
ist, wird
*
this
auf einen Endsequenz-Iterator gesetzt.
regex_iterator
.
Parameter
| a | - | LegacyBidirectionalIterator zum Anfang der Zielzeichenfolge |
| b | - | LegacyBidirectionalIterator zum Ende der Zielzeichenfolge |
| re | - | regulärer Ausdruck zur Suche in der Zielzeichenfolge |
| m | - | Flags, die das Verhalten von re steuern |
Beispiel
#include <iostream> #include <regex> #include <string_view> int main() { constexpr std::string_view str{R"( #ONE: *p = &Mass; #Two: MOV %rd, 42 )"}; const std::regex re("[a-w]"); // create regex_iterator, overload (2) auto it = std::regex_iterator<std::string_view::iterator> { str.cbegin(), str.cend(), re // re is lvalue; if an immediate expression was used // instead, e.g. std::regex{"[a-z]"}, this would // produce an error since overload (4) is deleted }; for (decltype(it) last /* overload (1) */; it != last; ++it) std::cout << (*it).str(); std::cout << '\n'; }
Ausgabe:
password
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 2332 | C++11 |
ein
regex_iterator
, konstruiert aus einem temporären
basic_regex
, wurde sofort ungültig
|
solche Konstruktion wird durch eine gelöschte Überladung verboten |