名前空間
変種
操作

std::sub_match

提供: cppreference.com
< cpp‎ | regex
ヘッダ <regex> で定義
template<

    class BidirIt

> class sub_match;
(C++11以上)

クラステンプレート sub_match はマーク付き部分表現がマッチした文字シーケンスを示すために正規表現エンジンによって使用されます。 マッチは、正規表現がマッチしたターゲットの範囲内の [begin, end) のペアですが、コードの明瞭性を向上するための追加の観察関数を持ちます。

デフォルトコンストラクタのみがパブリックにアクセス可能です。 sub_match のインスタンスは、通常、正規表現アルゴリズムの処理中に構築され、 std::match_results コンテナの一部として保持されます。

matched メンバが true でなければ、メンバ関数は定義済みのデフォルト値を返します。

sub_matchstd::pair<BidirIt, BidirIt> から継承していますが、 swap のようなメンバ関数や代入は期待通りに動作しないため、 std::pair として扱うことはできません。

目次

[編集] 型要件

-
BidirItLegacyBidirectionalIterator の要件を満たさなければなりません。

[編集] 特殊化

一般的な文字型に対していくつかの特殊化が提供されます。

ヘッダ <regex> で定義
定義
csub_match sub_match<const char*>
wcsub_match sub_match<const wchar_t*>
ssub_match sub_match<std::string::const_iterator>
wssub_match sub_match<std::wstring::const_iterator>

[編集] メンバ型

メンバ型 定義
iterator BidirIt
value_type std::iterator_traits<BidirIt>::value_type
difference_type std::iterator_traits<BidirIt>::difference_type
string_type std::basic_string<value_type>

[編集] メンバオブジェクト

bool matched
このマッチが成功したことを表します
(パブリックメンバオブジェクト)

std::pair から継承

BidirIt first
マッチシーケンスの先頭
(パブリックメンバオブジェクト)
BidirIt second
マッチシーケンスの終端
(パブリックメンバオブジェクト)

[編集] メンバ関数

マッチオブジェクトを構築します
(パブリックメンバ関数) [edit]
観察
(もしあれば) マッチの長さを返します
(パブリックメンバ関数) [edit]
ベースとなる文字列型に変換します
(パブリックメンバ関数) [edit]
(もしあれば) マッチした部分シーケンスを比較します
(パブリックメンバ関数) [edit]

[編集] 非メンバ関数

(C++20で削除)(C++20で削除)(C++20で削除)(C++20で削除)(C++20で削除)(C++20)
sub_match を別の sub_match、文字列、または文字と比較します
(関数テンプレート) [edit]
マッチした部分文字シーケンスを出力します
(関数テンプレート)

[編集] 関連項目

正規表現の部分マッチをイテレートします
(クラステンプレート)