std::regex_constants::match_flag_type
定义于头文件 <regex> |
||
using match_flag_type = /* implementation-defined */; |
(1) | (自 C++11 起) |
constexpr match_flag_type match_default = {}; constexpr match_flag_type match_not_bol = /* unspecified */; |
(2) | (自 C++11 起) (内联自 C++17 起) |
[编辑] 常量
注意:[
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++ 标准。
DR | 应用于 | 已发布的行为 | 正确的行为 |
---|---|---|---|
LWG 2053 | C++11 | 1. 这些常量被声明为 static 2. match_default 和 format_default 从 0 初始化 |
1. 移除 static 说明符 2. 从 {} 初始化 |
[编辑] 参见
(C++11) |
尝试将正则表达式匹配到整个字符序列 (函数模板) |
(C++11) |
控制正则表达式行为的通用选项 (类型别名) |
(C++11) |
描述不同类型的匹配错误 (类型别名) |