std::basic_regex
在标头
<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 |
成员函数
构造正则表达式对象 (公开成员函数) |
|
析构正则表达式对象 (公开成员函数) |
|
赋值内容 (公开成员函数) |
|
赋值内容 (公开成员函数) |
|
观察器 |
|
返回正则表达式中有标记的子表达式数量 (公开成员函数) |
|
返回语法标志 (公开成员函数) |
|
本地环境 |
|
获取本地环境信息 (公开成员函数) |
|
设置本地环境信息 (公开成员函数) |
|
修改器 |
|
交换内容 (公开成员函数) |
|
常量 |
文法选项 | 效果 |
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 |
指示正则表达式引擎进行更快的匹配,带有令构造变慢的潜在开销。例如这可能表示将非确定有限状态机转换为确定有限状态机。 |
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 算法 (函数模板) |