namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:regex_search

regex_search()

#include <regex>

bool regex_search(const string& s, const regex& e, match_flag_type flags = match_default)
bool regex_search(const string& s, smatch& m, const regex& e, match_flag_type flags = match_default)
bool regex_search(Bi first, Bi last, const regex& e, match_flag_type flags = match_default)
bool regex_search(Bi first, Bi last, smatch& m, const regex& e, match_flag_type flags = match_default)

Ersetzt Übereinstimmungen eines Zeichenbereiches [first,last) bzw. der Zeichenkette s mit dem regulären Ausdruck e durch den Inhalt der Zeichenkette fmt. 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 und std::wstring.

Parameter

first, last Iteratorbereich in Zeichenkette
s zu durchmusternde Zeichenkette
fmt einzusetzende Zeichenfolge
e regulärer Ausdruck
flags Optionen für die Durchmusterung

Optionen der Durchmusterung sind in std::regex_constants definiert.

Ergebnis

Rückgabewert: Zeichenkette bzw. Iterator auf das Ende des Bereiches mit der umgewandelten Zeichenfolge.

Siehe auch

Beispiel

regex_search.cpp
#include <iostream>
#include <string>
#include <regex>
 
int main()
{
  std::string s = "Hallo, Welt! Das ist ein Text";
  std::regex rex("Welt");
  std::cout << std::regex_search(begin(s), end(s), rex) << '\n';
 
  s = "13.11.2011";
  rex = std::regex("(\\d{1,2})\\.(\\d{1,2})\\.(\\d{4}|\\d{2})");
  std::smatch result;
 
  if (std::regex_search(s, result, rex))
    for (auto i = 0; i < result.size(); ++i)
    {
      std::cout << i << '\t' << result[i] << '\n';
    }
  else std::cout << "no match\n";		
}
kennen/lib/regex_search.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