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
|
特性
|
string_type
|
Traits::string_type
|
locale_type
|
Traits::locale_type
|
flag_type
|
std::regex_constants::syntax_option_type |
[编辑] 成员函数
构造正则表达式对象 (公共成员函数) | |
析构正则表达式对象 (公共成员函数) | |
分配内容 (公共成员函数) | |
分配内容 (公共成员函数) | |
观察者 | |
返回正则表达式中标记的子表达式的数量 (公共成员函数) | |
返回语法标志 (公共成员函数) | |
区域设置 | |
获取区域设置信息 (公共成员函数) | |
设置区域设置信息 (公共成员函数) | |
修改器 | |
交换内容 (公共成员函数) | |
常量 |
语法选项 | 效果 |
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
中选择一个语法选项。如果没有选择语法,则假定选择 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 算法 (函数模板) |