regex_match Function
Entspricht genau einen regulären Ausdruck ab.
template<class BidIt, class Alloc, class Elem, class RXtraits, class Alloc2>
bool regex_match(BidIt first, Bidit last,
match_results<BidIt, Alloc>& match,
const basic_regex<Elem, RXtraits, Alloc2>& re,
match_flag_type flags = match_default);
template<class BidIt, class Elem, class RXtraits, class Alloc2>
bool regex_match(BidIt first, Bidit last,
const basic_regex<Elem, RXtraits, Alloc2>& re,
match_flag_type flags = match_default);
template<class Elem, class Alloc, class RXtraits, class Alloc2>
bool regex_match(const Elem *ptr,
match_results<const Elem*, Alloc>& match,
const basic_regex<Elem, RXtraits, Alloc2>& re,
match_flag_type flags = match_default);
template<class Elem, class RXtraits, class Alloc2>
bool regex_match(const Elem *ptr,
const basic_regex<Elem, RXtraits, Alloc2>& re,
match_flag_type flags = match_default);
template<class IOtraits, class IOalloc, class Alloc, class Elem, class RXtraits, class Alloc2>
bool regex_match(const basic_string<Elem, IOtraits, IOalloc>& str,
match_results<typename basic_string<Elem, IOtraits, IOalloc>::const_iterator, Alloc>& match,
const basic_regex<Elem, RXtraits, Alloc2>& re,
match_flag_type flags = match_default);
template<class IOtraits, class IOalloc, class Elem, class RXtraits, class Alloc2>
bool regex_match(const basic_string<Elem, IOtraits, IOalloc>& str,
const basic_regex<Elem, RXtraits, Alloc2>& re,
match_flag_type flags = match_default);
Parameter
BidIt
Der Iteratortyp für Teilübereinstimmungen.Alloc
Die Übereinstimmung ergibt sich allocator-Klasse.Elem
Der Typ der Elemente für die Übereinstimmung.RXtraits
Merkmalklasse für Elemente.Alloc2
Die allocator-Klasse des regulären Ausdrucks.IOtraits
Die Zeichenfolgenmerkmalklasse.IOalloc
Die Zeichenfolgenallocator-klasse.flags
Flags für Übereinstimmungen.first
Anfang der Sequenz für die Übereinstimmung.last
Ende der Sequenz für die Übereinstimmung.match
Die Abgleichungsergebnisse.ptr
Zeiger auf das Starten der Sequenz für die Übereinstimmung.re
Der reguläre Ausdruck für die Übereinstimmung.str
Zeichenfolge für die Übereinstimmung.
Hinweise
gibt jeder Vorlagenfunktion reihen nur, wenn die Operandensequenz genau Argument re des regulären Ausdrucks übereinstimmt.Die Funktionen, die ein match_results-Objekt akzeptieren, legen seine Member fest, um anzugeben, ob die Übereinstimmung erfolgreich war und wenn so, wie die verschiedenen Erfassungsgruppen im regulären Ausdruck aufgezeichnete.
Beispiel
// std_tr1__regex__regex_match.cpp
// compile with: /EHsc
#include <regex>
#include <iostream>
int main()
{
const char *first = "abc";
const char *last = first + strlen(first);
std::cmatch mr;
std::regex rx("abc");
std::regex_constants::match_flag_type fl =
std::regex_constants::match_default;
std::cout << "match(f, f+1, \"abc\") == " << std::boolalpha
<< regex_match(first, first + 1, rx, fl) << std::endl;
std::cout << "match(f, l, \"abc\") == " << std::boolalpha
<< regex_match(first, last, mr, rx) << std::endl;
std::cout << " matched: \"" << mr.str() << "\"" << std::endl;
std::cout << "match(\"a\", \"abc\") == " << std::boolalpha
<< regex_match("a", rx) << std::endl;
std::cout << "match(\"abc\", \"abc\") == " << std::boolalpha
<< regex_match("abc", mr, rx) << std::endl;
std::cout << " matched: \"" << mr.str() << "\"" << std::endl;
std::cout << "match(string, \"abc\") == " << std::boolalpha
<< regex_match(std::string("a"), rx) << std::endl;
std::string str("abc");
std::match_results<std::string::const_iterator> mr2;
std::cout << "match(string, \"abc\") == " << std::boolalpha
<< regex_match(str, mr2, rx) << std::endl;
std::cout << " matched: \"" << mr2.str() << "\"" << std::endl;
return (0);
}
Anforderungen
Header: <regex>
Namespace: std