std::basic_regex<CharT,Traits>::mark_count
提供: cppreference.com
< cpp | regex | basic regex
unsigned mark_count()const; | (C++11以上) | |
正規表現内のマーク付き部分表現 (キャプチャグループとも言います) の数を返します。
目次 |
[編集]引数
(なし)
[編集]戻り値
正規表現内のマーク付き部分表現の数。
[編集]例外
(なし)
[編集]例
Run this code
#include <iostream>#include <regex> int main(){std::regex r1{"abcde"};std::cout<<"r1 has "<< r1.mark_count()<<" subexpressions"<<'\n';// 結果: 0 std::regex r2{"ab(c)de"};std::cout<<"r2 has "<< r2.mark_count()<<" subexpressions"<<'\n';// 結果: 1 std::regex r3{"a(bc)d(e)"};std::cout<<"r3 has "<< r3.mark_count()<<" subexpressions"<<'\n';// 結果: 2 // ネストした部分表現。std::regex r4{"abc(de(fg))"};std::cout<<"r4 has "<< r4.mark_count()<<" subexpressions"<<'\n';// 結果: 2 // エスケープされた括弧。std::regex r5{"a(bc\\(\\)de)"};std::cout<<"r5 has "<< r5.mark_count()<<" subexpressions"<<'\n';// 結果: 1 // nosubs フラグの使用。std::regex r6 {"ab(c)de", std::regex_constants::nosubs};std::cout<<"r6 has "<< r6.mark_count()<<" subexpressions"<<'\n';// 結果: 0}
出力:
r1 has 0 subexpressions r2 has 1 subexpressions r3 has 2 subexpressions r4 has 2 subexpressions r5 has 1 subexpressions r6 has 0 subexpressions