The Wayback Machine - https://web.archive.org/web/20180518001057/http://ja.cppreference.com:80/w/cpp/regex/basic_regex
名前空間
変種
操作

std::basic_regex

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

    class CharT,
    class Traits =std::regex_traits<CharT>

>class basic_regex;
(C++11およびそれ以降)

クラステンプレート basic_regex は正規表現を保持するための汎用フレームワークを提供します。

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

ヘッダ <regex> で定義
定義
regexbasic_regex<char>
wregexbasic_regex<wchar_t>

目次

[編集]メンバ型

メンバ型 定義
value_typeCharT
traits_typeTraits
string_typeTraits::string_type
locale_typeTraits::locale_type
flag_typestd::regex_constants::syntax_option_type

[編集]メンバ関数

regex オブジェクトを構築します
(パブリックメンバ関数)[edit]
regex オブジェクトを破棄します
(パブリックメンバ関数)[edit]
内容を代入します
(パブリックメンバ関数)[edit]
内容を代入します
(パブリックメンバ関数)[edit]
観察
正規表現内のマーク付き部分表現の数を返します
(パブリックメンバ関数)[edit]
構文フラグを返します
(パブリックメンバ関数)[edit]
ロケール
ロケール情報を取得します
(パブリックメンバ関数)[edit]
ロケール情報を設定します
(パブリックメンバ関数)[edit]
変更
内容を入れ替えます
(パブリックメンバ関数)[edit]

定数

効果
icase 大文字小文字を考慮せずに文字のマッチングを行います。
nosubs マッチを行うとき、すべてのマーク付き部分表現 (expr) を、マークなしの部分表現 (?:expr) として扱います。 供給された std::regex_match 構造体に格納されるマッチはなく、 mark_count() はゼロになります。
optimize 構築が遅くなる可能性があっても、マッチングを高速化するよう、正規表現エンジンに指示します。 例えば、これは非決定的 FSA を決定的 FSA に変換することを意味するかもしれません。
collate"[a-b]" 形式の文字範囲をロケール対応にします。
multiline(C++17) ECMAScript エンジンが選択された場合、 ^ を行頭にマッチさせ、 $ を行末にマッチさせます。
ECMAScript修正 ECMAScript 正規表現文法を使用します。
basic 基本 POSIX 正規表現文法を使用します (文法のドキュメント)。
extended 拡張 POSIX 正規表現文法を使用します (文法のドキュメント)。
awk POSIX の awk ユーティリティで使用される正規表現文法を使用します (文法のドキュメント)。
grep POSIX の grep ユーティリティで使用される正規表現文法を使用します。 これは実質的に代替区切り文字として改行 '\n' を追加した basic オプションと同じです。
egrep POSIX の grep ユーティリティで -E オプションを付けたときに使用される正規表現文法を使用します。 これは実質的に代替区切り文字として '|' に加えて改行 '\n' を追加した extended オプションと同じです。

ECMAScriptbasicextendedawkgrepegrep のうち高々ひとつの文法オプションだけを選択できます。 文法を選択しない場合は ECMAScript が選択されたと仮定されます。 他のオプションは修飾子として働きます。 例えば std::regex("meow", std::regex::icase)std::regex("meow", std::regex::ECMAScript|std::regex::icase) と同等です。

basic_regex のメンバ定数は名前空間 std::regex_constants で定義されている syntax_option_type 定数の複製です。

[編集]非メンバ関数

std::swap アルゴリズムの特殊化
(関数テンプレート)[edit]

[編集]推定ガイド(C++17およびそれ以降)

close