名前空間
変種
操作

std::match_results::operator[]

提供: cppreference.com
< cpp‎ | regex‎ | match results
 
 
正規表現ライブラリ
クラス
(C++11)
アルゴリズム
イテレータ
例外
特性
定数
(C++11)
正規表現の文法
 
 
const_reference operator[]( size_type n ) const;
(C++11およびそれ以降)

n > 0 かつ n < size() であれば、 n 番目にキャプチャされたマーク付き部分表現にマッチした、ターゲットシーケンスの一部を表す std::sub_match を指す参照を返します。

n == 0 であれば、正規表現全体にマッチした、ターゲットシーケンスの一部を表す std::sub_match を指す参照を返します。

n >= size() であれば、マッチしなかった部分表現 (ターゲットシーケンスの空の部分範囲) を表す std::sub_match を指す参照を返します。

ready() == true でなければ動作は未定義です。

目次

[編集] 引数

n - 返すマッチを指定する整数

[編集] 戻り値

指定されたマッチにマッチしたターゲットシーケンス内の部分範囲を表す std::sub_match を指す参照。

[編集]

#include <iostream>
#include <regex>
#include <string>
 
int main()
{
    std::string target("baaaby");
    std::smatch sm;
 
    std::regex re1("a(a)*b");
    std::regex_search(target, sm, re1);
    std::cout << "entire match: " << sm[0] << '\n'
              << "submatch #1: " << sm[1] << '\n';
 
    std::regex re2("a(a*)b");
    std::regex_search(target, sm, re2);
    std::cout << "entire match: " << sm[0] << '\n'
              << "submatch #1: " << sm[1] << '\n';
 
}

出力:

entire match: aaab
submatch #1: a
entire match: aaab
submatch #1: aa

[編集] 関連項目

特定の部分マッチに対する文字シーケンスを返します
(パブリックメンバ関数) [edit]