kennen:lib:regex_match
Inhaltsverzeichnis
regex_match()
#include <regex>
bool regex_match(const string& s, const regex& e, match_flag_type flags = match_default) bool regex_match(const string& s, smatch& m, const regex& e, match_flag_type flags = match_default) bool regex_match(Bi first, Bi last, const regex& e, match_flag_type flags = match_default) bool regex_match(Bi first, Bi last, smatch& m, const regex& e, match_flag_type flags = match_default)
Findet Übereinstimmungen der Zeichenkette s mit dem regulären Ausdruck e.
Iteratorpaare der übereinstimmenden Teilbereiche werden im Container m abgelegt.
Die Funktionen sind als Schablonen definiert. Neben den hier angegebenen existieren Varianten für char-Felder (mit cmatch) und std::wstring (wmatch).
Parameter
first, last | Iteratorbereich in Zeichenkette |
s | zu durchmusternde Zeichenkette |
m | smatch nimmt Übereinstimmungen auf |
e | regulärer Ausdruck |
flags | Optionen für die Durchmusterung |
Optionen der Durchmusterung sind in std::regex_constants definiert.
Ergebnis
Rückgabewert: true, wenn Übereinstimmung gefunden.
Siehe auch
Beispiel
- regex_match.cpp
#include <iostream> #include <string> #include <regex> int main() { std::string expr = "", s = ""; std::smatch matches; if (std::regex_match(s, matches, std::regex(expr))) { // matches[0] contains the original string. // matches[n] contains a sub_match object for each matching subexpression for (auto i = 0; i < matches.size(); ++i) { // sub_match is pair of iterators to the first // and one past the last chars of the matching subexpression // (matches[i].first, matches[i].second); std::string match = matches[i]; std::cout << "\tmatches[" << i << "] = " << match << '\n'; } } else std::cout << "The regexp \"" << expr << "\" does not match \"" << s << "\"\n"; }
kennen/lib/regex_match.txt · Zuletzt geändert: von 127.0.0.1
