std::regex_constants::match_flag_type

来自cppreference.com
< cpp‎ | regex
在标头 <regex> 定义
using match_flag_type = /* 由实现定义 */;
(C++11 起)
constexpr match_flag_type match_default =     {};

constexpr match_flag_type match_not_bol =     /* 未指定 */;
constexpr match_flag_type match_not_eol =     /* 未指定 */;
constexpr match_flag_type match_not_bow =     /* 未指定 */;
constexpr match_flag_type match_not_eow =     /* 未指定 */;
constexpr match_flag_type match_any =         /* 未指定 */;
constexpr match_flag_type match_not_null =    /* 未指定 */;
constexpr match_flag_type match_continuous =  /* 未指定 */;
constexpr match_flag_type match_prev_avail =  /* 未指定 */;
constexpr match_flag_type format_default =    {};
constexpr match_flag_type format_sed =        /* 未指定 */;
constexpr match_flag_type format_no_copy =    /* 未指定 */;

constexpr match_flag_type format_first_only = /* 未指定 */;
(C++11 起)
(C++17 前)
inline constexpr match_flag_type match_default =     {};

inline constexpr match_flag_type match_not_bol =     /* 未指定 */;
inline constexpr match_flag_type match_not_eol =     /* 未指定 */;
inline constexpr match_flag_type match_not_bow =     /* 未指定 */;
inline constexpr match_flag_type match_not_eow =     /* 未指定 */;
inline constexpr match_flag_type match_any =         /* 未指定 */;
inline constexpr match_flag_type match_not_null =    /* 未指定 */;
inline constexpr match_flag_type match_continuous =  /* 未指定 */;
inline constexpr match_flag_type match_prev_avail =  /* 未指定 */;
inline constexpr match_flag_type format_default =    {};
inline constexpr match_flag_type format_sed =        /* 未指定 */;
inline constexpr match_flag_type format_no_copy =    /* 未指定 */;

inline constexpr match_flag_type format_first_only = /* 未指定 */;
(C++17 起)

match_flag_type 是指定附加正则表达式匹配选项的位掩码类型 (BitmaskType)

常量

注意:要匹配的字符序列以 [firstlast) 指代。

常量 解释
match_not_bol [firstlast) 中的首个字符将被处理成如同它在行首(即 ^ 不会匹配 [firstfirst))。
match_not_eol [firstlast) 中的最末字符将被处理成如同它在行尾(即 $ 不会匹配 [lastlast))。
match_not_bow \b 不会匹配 [firstfirst)
match_not_eow \b 不会匹配 [lastlast)
match_any 如果由多个可能的匹配,那么可以接受任意一个。
match_not_null 不匹配空字符序列。
match_continuous 仅匹配从 first 开始的子串。
match_prev_avail --first 是合法的迭代器位置。设置时会导致 match_not_bolmatch_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_defaultformat_default 以外的所有常量都是位掩码元素。match_defaultformat_default 常量是空位掩码。

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 2053 C++11 1. 常量被声明为 static
2. match_defaultformat_default0 初始化
1. 移除 static 说明符
2. 从 {} 初始化

参阅

尝试匹配一个正则表达式到整个字符序列
(函数模板)
控制正则表达式行为的通用选项
(typedef)
描述不同类型的匹配错误
(typedef)