std::basic_regex
出自 cppreference.com
| 定義於標頭檔 <regex> |
||
| template< class CharT, |
(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 物件 (公開成員函數) | |
| 賦值內容 (公開成員函數) | |
| 賦值內容 (公開成員函數) | |
觀察器 | |
| 回傳正規表示式中已標記子表達式的數量 (公開成員函數) | |
| 回傳語法旗標 (公開成員函數) | |
區域設定 (Locale) | |
| 取得區域設定資訊 (公開成員函數) | |
| 設定區域設定資訊 (公開成員函數) | |
修改器 | |
| 交換內容 (公開成員函數) | |
常數 | |
| 語法選項 | 效果 |
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
|
指示正規表示式引擎提高匹配速度,代價是建構速度可能會變慢。例如,這可能意味著將非確定性有限自動機 (NFA) 轉換為確定性有限自動機 (DFA)。 |
collate
|
格式為 "[a-b]" 的字元範圍將會對區域設定敏感。 |
multiline (C++17) |
指定若選取 ECMAScript 引擎,^ 將匹配行的開頭,而 $ 將匹配行的結尾。 |
在 ECMAScript, basic, extended, awk, grep, egrep 之中,最多只能選擇一個語法選項。若未選擇任何語法,則預設為 ECMAScript。其他選項作為變體,例如 std::regex("meow", std::regex::icase) 等同於 std::regex("meow", std::regex::ECMAScript|std::regex::icase)。
basic_regex 中的成員常數是定義在命名空間 std::regex_constants 中的 syntax_option_type 常數的副本。
[編輯] 非成員函數
| (C++11) |
特化 std::swap 演算法 (函數模板) |