std::regex_constants::match_flag_type
在标头 <regex> 定义
|
||
using match_flag_type = /* 由实现定义 */; |
(C++11 起) | |
constexpr match_flag_type match_default = {}; constexpr match_flag_type match_not_bol = /* 未指定 */; |
(C++11 起) (C++17 前) |
|
inline constexpr match_flag_type match_default = {}; inline constexpr match_flag_type match_not_bol = /* 未指定 */; |
(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
|
在 std::regex_replace 中使用 ECMAScript 规则构造字符串(语法文档)。 |
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++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
LWG 2053 | C++11 | 1. 常量被声明为 static 2. match_default 和 format_default 从 0 初始化
|
1. 移除 static 说明符 2. 从 {} 初始化 |
参阅
(C++11) |
尝试匹配一个正则表达式到整个字符序列 (函数模板) |
(C++11) |
控制正则表达式行为的通用选项 (typedef) |
(C++11) |
描述不同类型的匹配错误 (typedef) |