最終更新日時:
が更新

履歴 編集

function
<regex>

std::basic_regex::mark_count(C++11)

unsigned int mark_count() const;

概要

正規表現内のキャプチャグループの数を返す。

戻り値

正規表現内のキャプチャグループの数

備考

キャプチャグループとは、正規表現内の丸括弧で囲まれた部分の事である。
キャプチャグループは、その正規表現内の後方や、regex_replace による置換時などに使用することができる。
また、match_results オブジェクトを使用することによって、regex_matchregex_search 等の結果として受け取ることもできる。
その場合、キャプチャグループに対応する部分は match_results オブジェクトのメンバ関数で sub_match オブジェクトとして(operator[])、あるいは文字列として(str)アクセス可能である。
なお、this->flags()regex_constants::nosubs が含まれている場合は、キャプチャグループは無効となるため、本関数の戻り値は 0 となる。

#include <iostream>
#include <regex>

int main()
{
  std::regex re("(\\w+) (\\d+) (\\w+)");
  std::cout << re.mark_count() << std::endl;
}

出力

3

バージョン

言語

  • C++11

処理系