std::basic_regex<CharT,Traits>:: mark_count
From cppreference.net
<
cpp
|
regex
|
basic regex
|
unsigned
mark_count
(
)
const
;
|
(seit C++11) | |
Gibt die Anzahl der markierten Teilausdrücke (auch bekannt als Erfassungsgruppen) innerhalb des regulären Ausdrucks zurück.
Inhaltsverzeichnis |
Parameter
(keine)
Rückgabewert
Die Anzahl der markierten Teilausdrücke innerhalb des regulären Ausdrucks.
Exceptions
Kann implementierungsdefinierte Ausnahmen auslösen.
Beispiel
Diesen Code ausführen
#include <iostream> #include <regex> int main() { std::regex r1{"abcde"}; std::cout << "r1 hat " << r1.mark_count() << " Teilausdrücke" << '\n'; // Erwartet: 0 std::regex r2{"ab(c)de"}; std::cout << "r2 hat " << r2.mark_count() << " Teilausdrücke" << '\n'; // Erwartet: 1 std::regex r3{"a(bc)d(e)"}; std::cout << "r3 hat " << r3.mark_count() << " Teilausdrücke" << '\n'; // Erwartet: 2 // Verschachtelte Teilausdrücke std::regex r4{"abc(de(fg))"}; std::cout << "r4 hat " << r4.mark_count() << " Teilausdrücke" << '\n'; // Erwartet: 2 // Maskierte Klammern std::regex r5{"a(bc\\(\\)de)"}; std::cout << "r5 hat " << r5.mark_count() << " Teilausdrücke" << '\n'; // Erwartet: 1 // Verwendung des nosubs-Flags std::regex r6{"ab(c)de", std::regex_constants::nosubs}; std::cout << "r6 hat " << r6.mark_count() << " Teilausdrücke" << '\n'; // Erwartet: 0 }
Ausgabe:
r1 hat 0 Teilausdrücke r2 hat 1 Teilausdrücke r3 hat 2 Teilausdrücke r4 hat 2 Teilausdrücke r5 hat 1 Teilausdrücke r6 hat 0 Teilausdrücke