名前空間
変種
操作

std::basic_regex

From cppreference.com
< cpp‎ | regex
 
 
 
正規表現ライブラリ
クラス
basic_regex
(C++11)
(C++11)
アルゴリズム
イテレータ
例外
Traits
定数
(C++11)
正規表現文法
 
 
ヘッダ <regex> で定義
template<

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

> class basic_regex;
(C++11以降)

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

一般的な文字型のためにいくつかの typedef が提供されています

ヘッダ <regex> で定義
定義
std::regex std::basic_regex<char>
std::wregex std::basic_regex<wchar_t>

目次

[編集] メンバ型

メンバ型 定義
value_type CharT
traits_type Traits
string_type Traits::string_type
locale_type Traits::locale_type
flag_type std::regex_constants::syntax_option_type

[編集] メンバ関数

regexオブジェクトを構築する
(公開メンバ関数) [編集]
regexオブジェクトを破棄する
(公開メンバ関数) [編集]
内容を代入する
(公開メンバ関数) [編集]
内容を代入する
(公開メンバ関数) [編集]
監視
正規表現内のマークされた部分式の数を返す
(公開メンバ関数) [編集]
構文フラグを返す
(公開メンバ関数) [編集]
ロケール
ロケール情報を取得する
(公開メンバ関数) [編集]
ロケール情報を設定する
(公開メンバ関数) [編集]
変更
内容を交換する
(公開メンバ関数) [編集]

定数

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

ECMAScriptbasicextendedawkgrepegrepのうち、文法オプションは最大1つしか選択できない。文法が選択されなかった場合、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 アルゴリズムを特殊化する
(関数テンプレート) [編集]

[編集] 推論補助(C++17以降)

English 日本語 中文(简体) 中文(繁體)