namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:regex_match

Dies ist eine alte Version des Dokuments!


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";
  return 0;
}
kennen/lib/regex_match.1334157839.txt.gz · Zuletzt geändert: 2012-04-11 17:23 von 127.0.0.1