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
|
使用 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 | 1. 常量被声明为 static 2. match_default 和 format_default 从 0 初始化 |
1. 移除 static 规范符 2. 从 {} 初始化 |
[编辑] 另请参阅
(C++11) |
尝试将正则表达式与整个字符序列匹配 (函数模板) |
(C++11) |
控制正则表达式行为的通用选项 (typedef) |
(C++11) |
描述不同类型的匹配错误 (typedef) |