std::regex_constants::match_flag_type
定义于头文件 <regex>
|
||
typedef /*unspecified*/ match_flag_type; |
(C++11 起) | |
constexpr match_flag_type match_default = {}; constexpr match_flag_type match_not_bol = /*unspecified*/; |
(C++11 起) (C++17 前) |
|
inline constexpr match_flag_type match_default = {}; inline constexpr match_flag_type match_not_bol = /*unspecified*/; |
(C++17 起) | |
match_flag_type
是指定附加正则表达式匹配选项的位掩码类型 (BitmaskType) 。
常量
注意: [first, last)
指代要匹配的字符序列。
常量 | 解释 |
match_not_bol
|
[first,last) 中的首个字符将被处理成如同它不在行首(即 ^ 将不匹配 [first,first) ) |
match_not_eol
|
[first,last) 中的最末字符将被处理成如同它不在行尾(即 $ 将不匹配 [last,last) ) |
match_not_bow
|
"\b" 将不匹配 [first,first) |
match_not_eow
|
"\b" 将不匹配 [last,last) |
match_any
|
若多于一个匹配可行,则任何匹配都是可接受的结果 |
match_not_null
|
不匹配空字符序列 |
match_continuous
|
仅匹配始于 first 的子串 |
match_prev_avail
|
--first 是合法的迭代位置。设置时导致 match_not_bol 和 match_not_bow 被忽略 |
format_default
|
使用 ECMAScript 规则于 std::regex_replace 构造字符串(语法文档) |
format_sed
|
于 std::regex_replace 使用 POSIX sed 工具规则。(语法文档) |
format_no_copy
|
不复制不匹配的字符串到 std::regex_replace 中的输出 |
format_first_only
|
仅替换 std::regex_replace 中的首个匹配 |
match_default
及 format_default
以外的所有常量都是位掩码元素。 match_default
与 format_default
常量是空位掩码。
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
DR | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
LWG 2053 | C++11 | match_flag_type 不能为有作用域枚举,因为要求 match_default 与 format_default 从 0 初始化
|
使之从空花括号初始化 |
参阅
(C++11) |
尝试匹配一个正则表达式到整个字符序列 (函数模板) |
(C++11) |
控制正则表达式行为的通用选项 (typedef) |
(C++11) |
描述不同类型的匹配错误 (typedef) |