類模板
<regex>

std::basic_regex

template <class charT, class traits = regex_traits<charT> > class basic_regex;
正則表示式
一個正則表示式是一個物件,它定義了一個特定的模式,透過標準的regex庫工具與之匹配字元序列。

這些物件本質上是由一串字元構建的,其中可以包含幾個萬用字元和約束,以定義一組規則(模式),這些規則使得字元序列符合匹配。預設情況下,regex模式遵循ECMAScript語法

basic_regex物件不直接透過其任何成員進行匹配。相反,它們被用作regex演算法regex_matchregex_searchregex_replace)和regex迭代器介面卡regex_iteratorregex_token_iterator)的引數,這些演算法和介面卡在構造時使用指定的規則執行這些匹配。basic_regex物件。

這個基本類有兩個例項化存在於標準標頭檔案<regex>對於最常見的情況
1
2
typedef basic_regex<char>    regex;
typedef basic_regex<wchar_t> wregex;

模板引數

charT
字元型別。
特性 (traits)
regex操作在此物件上使用的regex traits
這可以是regex_traits類模板的例項化,也可以是具有相同成員的自定義類。

sub_match for string literals (class)


成員型別

以下別名是basic_regex的成員型別。它們被成員函式廣泛用作引數和返回型別。

成員型別定義說明
value_type第一個模板引數 (charT)字元型別。
traits_type第二個模板引數 (特性 (traits))<char>Regex traits(預設為regex_traits)。
string_typetraits::string_type字串型別(對於regexstring,對於wregexwstring)。
flag_typeregex_constants::syntax_option_type
locale_typetraits::locale_type對於標準regex_traitslocale

成員函式


賦值


常量操作


Locale


交換


非成員函式


成員常量

這些成員常量是regex_constants名稱空間下同名常量的別名(有關更多詳細資訊,請參閱regex_constants)。std::regex_constants名稱空間(有關更多詳細資訊,請參閱regex_constants)。
flag*對語法的影響備註
icase不區分大小寫正則表示式匹配時忽略大小寫。
nosubs無子表示式要放回的字元的match_results結構將不包含子表示式匹配。
optimize最佳化匹配優先匹配效率,而不是構造 regex 物件的效率。
collate語言環境敏感性字元範圍,例如"[a-b]"受語言環境影響。
ECMAScriptECMAScript 語法正則表示式遵循以下六種語法之一。
位掩碼需要設定這六種語法標誌中的一個(且僅一個)才能具有有效值。
basic基本 POSIX 語法
extended擴充套件 POSIX 語法
awkAwk POSIX 語法
grepGrep POSIX 語法
egrepEgrep POSIX 語法


另見