namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:regex_match

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


kennen:lib:regex_match [2019-11-20 16:10] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== regex_match() ======
 +''#include'' [[..:include:regex]]
 +
 +<code cpp>
 +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)
 +</code>
 + Findet Übereinstimmungen der Zeichenkette ''s'' mit dem [[..:include:regex#Klassen|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''   | [[..:include:regex#Klassen|smatch]] nimmt Übereinstimmungen auf |
 +| ''e''   | regulärer Ausdruck |
 +| ''flags''   | Optionen für die Durchmusterung |
 +
 +Optionen der Durchmusterung sind in [[..:include:regex#Konstanten|std::regex_constants]] definiert.
 +
 +
 +==== Ergebnis ====
 +Rückgabewert: ''true'', wenn Übereinstimmung gefunden. 
 +
 +==== Siehe auch ====
 +[[regex_replace]],
 +[[regex_search]].
 +
 +==== Beispiel ====
 +<code cpp 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";
 +}
 +</code>
  
kennen/lib/regex_match.txt · Zuletzt geändert: 2019-11-20 16:10 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki