mark_tag 構造体
-
struct mark_tag
静的正規表現で名前付き捕捉を作成するのに使用する、部分マッチのプレースホルダ型。
概要
// ヘッダ:<boost/xpressive/regex_primitives.hpp
> structmark_tag
{ // 構築、コピー、解体mark_tag
(int); // 非公開静的メンバ関数 staticunspecified
make_tag
(int); };
説明
mark_tag
は部分マッチのグローバルなプレースホルダ s0
、s1
、…の型である。mark_tag
を使用すると、より意味のある名前で部分マッチプレースホルダを作成できる。動的正規表現における「名前付き捕捉」機能とおおよそ等価である。
名前付き部分マッチプレースホルダは、一意な整数で初期化して作成する。この整数はプレースホルダを使用する正規表現内で一意でなければならない。静的正規表現内でこれに部分式を代入して部分マッチを作成するか、すでに作成した部分マッチを後方参照できる。
mark_tag number(1); // number は s1 と等価
// 数字、続いて空白、再び同じ数字にマッチ
sregex rx = (number = +_d) >> ' ' >> number;
regex_match
か regex_search
が成功した後は、部分マッチのプレースホルダを match_results<>
オブジェクトの添字にして、対応する部分マッチを得る。
mark_tag
構築、コピー、解体の公開演算
mark_tag
非公開静的メンバ関数
-
static unspecified make_tag(int mark_nbr)