namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:regex_search
no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


kennen:lib:regex_search [2019-11-20 16:10] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== regex_search() ======
 +''#include'' [[..:include:regex]]
 +
 +<code cpp>
 +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)
 +</code>
 + Ersetzt Übereinstimmungen eines Zeichenbereiches [first,last) bzw. der Zeichenkette ''s'' 
 + mit dem [[..:include:regex#Klassen|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 [[..:include:regex#Konstanten|std::regex_constants]] definiert.
 +
 +==== Ergebnis ====
 +Rückgabewert: Zeichenkette bzw. Iterator auf das Ende des Bereiches mit der umgewandelten Zeichenfolge. 
 +
 +==== Siehe auch ====
 +[[regex_match]],
 +[[regex_replace]].
 +
 +==== Beispiel ====
 +<code cpp 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";
 +}
 +</code>
  
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