Namespaces
Variants

std:: basic_regex

From cppreference.net
Regular expressions library
Classes
basic_regex
(C++11)
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
定義済みヘッダー <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

メンバー関数

正規表現オブジェクトを構築する
(public member function)
正規表現オブジェクトを破棄する
(public member function)
内容を代入する
(公開メンバ関数)
内容を割り当てる
(公開メンバー関数)
オブザーバー
正規表現内のマークされた部分式の数を返す
(公開メンバ関数)
構文フラグを返す
(公開メンバー関数)
ロケール
ロケール情報を取得
(公開メンバ関数)
ロケール情報を設定
(公開メンバ関数)
修飾子
内容を交換する
(公開メンバ関数)

定数

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

文法オプションは ECMAScript basic extended awk grep egrep の中から最大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以降)