std::basic_regex
来自cppreference.com
定义于头文件 <regex> | ||
template< class CharT, | (C++11 起) | |
类模板 basic_regex
提供保有正则表达式的通用框架。
提供对于常见类型的几个特化:
定义于头文件 <regex> | |
类型 | 定义 |
regex | basic_regex<char> |
wregex | 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 对象 (公开成员函数) | |
赋值内容 (公开成员函数) | |
赋值内容 (公开成员函数) | |
观察器 | |
返回正则表达式中有标记的子表达式数量 (公开成员函数) | |
返回语法标志 (公开成员函数) | |
本地环境 | |
获取本地环境信息 (公开成员函数) | |
设置本地环境信息 (公开成员函数) | |
修改器 | |
交换内容 (公开成员函数) | |
常量 |
值 | 效果 |
icase | 应当以不考虑大小写进行字符匹配。 |
nosubs | 进行匹配时,将所有被标记的子表达式 (expr) 当做非标记的子表达式 (?:expr) 。不将匹配存储于提供的 std::regex_match 结构中,且 mark_count() 为零 |
optimize | 指示正则表达式引擎进行更快的匹配,带有令构造变慢的潜在开销。例如这可能表示将非确定 FSA 转换为确定 FSA 。 |
collate | 形如 "[a-b]" 的字符范围将对本地环境敏感。 |
multiline (C++17) | 若选择 ECMAScript 引擎,则指定 ^ 应该匹配行首,而 $ 应该匹配行尾。 |
ECMAScript | 使用改 ECMAScript 正则表达式文法 |
basic | 使用基本 POSIX 正则表达式文法(文法文档)。 |
extended | 使用扩展 POSIX 正则表达式文法(文法文档)。 |
awk | 使用 POSIX 中 awk 工具所用的正则表达式文法(文法文档)。 |
grep | 使用 POSIX 中 grep 工具所用的正则表达式文法。这等效于 basic 选项附带作为另一种分隔符的换行符 '\n' 。 |
egrep | 使用 POSIX 中 grep 工具带 -E 选项所用的正则表达式文法。这等效于 extended 附带 '|' 之外的作为另一种分隔符的换行符 '\n' 。 |
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 算法 (函数模板) |