match_flag_type
-
typedef implemenation_specific_bitmask_type match_flag_type
match_flag_type
型は実装固有のビットマスク型(C++ 標準 17.3.2.1.2)で、正規表現の文字シーケンスに対するマッチ方法を制御する。書式化フラグの動作は書式化構文ガイドに詳細を記述する。
namespace boost{ namespace regex_constants{
typedef implemenation-specific-bitmask-type match_flag_type;
static const match_flag_type match_default = 0;
static const match_flag_type match_not_bob;
static const match_flag_type match_not_eob;
static const match_flag_type match_not_bol;
static const match_flag_type match_not_eol;
static const match_flag_type match_not_bow;
static const match_flag_type match_not_eow;
static const match_flag_type match_any;
static const match_flag_type match_not_null;
static const match_flag_type match_continuous;
static const match_flag_type match_partial;
static const match_flag_type match_single_line;
static const match_flag_type match_prev_avail;
static const match_flag_type match_not_dot_newline;
static const match_flag_type match_not_dot_null;
static const match_flag_type match_posix;
static const match_flag_type match_perl;
static const match_flag_type match_nosubs;
static const match_flag_type match_extra;
static const match_flag_type format_default = 0;
static const match_flag_type format_sed;
static const match_flag_type format_perl;
static const match_flag_type format_literal;
static const match_flag_type format_no_copy;
static const match_flag_type format_first_only;
static const match_flag_type format_all;
} // namespace regex_constants
} // namespace boost
説明
match_flag_type
型は実装固有のビットマスク型(C++ 標準 17.3.2.1.2)である。文字シーケンス [first, last) に対して正規表現マッチを行うとき、各要素を設定した場合の効果を以下の表に示す。
要素 |
設定した場合の効果 |
---|---|
|
正規表現マッチを ECMA-262, ECMAScript Language Specification, Chapter 15 part 10, RegExp (Regular Expression) Objects (FWD.1) で使用されている通常の規則にそのまま従うことを指定する。 |
|
正規表現 |
|
正規表現 |
|
正規表現 |
|
正規表現 |
|
正規表現 |
|
正規表現 |
|
複数のマッチが可能な場合に、それらのいずれでも結果として適合することを指定する。結果が最左マッチとなることには変わりないが、当該位置における最良マッチは保証されない。何がマッチするかよりも速度を優先する場合(マッチがあるかないかのみを調べる場合)にこのフラグを使用するとよい。 |
|
正規表現が空のシーケンスにマッチしないことを指定する。 |
|
正規表現が、先頭から始まる部分シーケンスにのみマッチすることを指定する。 |
|
マッチが見つからない場合に from != last であるマッチ [from, last) を結果として返すことを指定する([from,last] を接頭辞とするより長い文字シーケンス [from,to) が完全マッチの結果として存在する可能性がある場合)。テキストが不完全であるか非常に長い場合に、このフラグを使用するとよい。詳細は部分マッチの項を見よ。 |
|
有効な捕捉情報をすべて格納するように正規表現エンジンに指示する。捕捉グループが繰り返しになっている場合、 |
|
Perl の m 修飾子の反転と同様で、 |
|
--first が合法なイテレータ位置であることを指定する。このフラグを設定した場合、正規表現アルゴリズム(RE.7)およびイテレータ(RE.8)はフラグ |
|
正規表現 |
|
正規表現 |
|
コンパイル済み正規表現の種類に関わらず、POSIX の最左規則にしたがって式のマッチを行うことを指定する。貪欲でない繰り返しなどの Perl 固有の多くの機能を使用する場合、これらの規則は正しく動作しないことに注意していただきたい。 |
|
コンパイル済み正規表現の種類に関わらず、Perl のマッチ規則にしたがって式のマッチを行うことを指定する。 |
|
実際に捕捉グループが与えられていても、マーク済み部分式が存在しないとして正規表現を扱う。 |
|
正規表現マッチを新文字列で置換するとき、ECMA-262, ECMAScript Language Specification, Chapter 15 part 5.4.11 String.prototype.replace. (FWD.1) の ECMAScript replace 関数で使用されている規則を用いて新文字列を構築する。 機能的には Perl の書式化文字列の規則と等価である。 検索・置換操作時に指定すると、正規表現は互いに重複しない位置でマッチし、置換する。正規表現にマッチしなかったテキスト部分はそのまま出力文字列にコピーする。 |
|
正規表現マッチを新文字列で置換するとき、IEEE Std 1003.1-2001, Portable Operating SystemInterface (POSIX), Shells and UtilitiesのUnix sed ユーティリティで使用されている規則を用いて新文字列を構築する。sed の書式化文字列リファレンスも見よ。 |
|
正規表現マッチを新文字列で置換するとき、Perl 5 と同じ規則を用いて新文字列を生成する。 |
|
正規表現マッチを新文字列で置換するとき、置換テキストの直値コピーを新文字列とする。 |
|
条件置換 |
|
検索・置換操作時に指定すると、検索対象の文字コンテナシーケンスの正規表現にマッチしない部分を出力文字列にコピーしない。 |
|
検索・置換操作時に指定すると、最初の正規表現マッチのみを置換する。 |
- 1
訳注 “RE.n” は N1429 の節番号(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1429.htm)。