C++ Regex 库 - regex_constants
描述
它是一个正则表达式常量。
正则表达式常量的类型应该如下图所示 −
位掩码类型 error_type
在 regex_error 中使用它来识别引发异常的错误类型。
标志 | 对语法的影响 | 注意事项 |
---|---|---|
icase | 不区分大小写 | 正则表达式匹配不考虑大小写。 |
nosubs | 没有子表达式 | match_results 结构将不包含子表达式匹配。 |
optimize | 优化匹配 | 匹配效率优于构造正则表达式对象的效率。 |
collate | 区域敏感度 | 字符范围,如 "[a-b]",受语言环境影响。 |
ECMAScript | ECMAScript 语法 | 正则表达式遵循这些语法之一。 需要设置这六个 grammar 标志中的一个(并且只有一个),以使位掩码具有有效值。 |
basic | 基本 POSIX 语法 | |
extended | 扩展 POSIX 语法 | |
awk | awk POSIX 语法 | |
grep | Grep POSIX 语法 | |
egrep | egrep POSIX 语法 |
位掩码类型 syntax_option_type
它用于正则表达式对象的构造或分配,以指定对象使用的语法。
C++11
标志 | 对语法的影响 | 注意事项 |
---|---|---|
icase | 不区分大小写 | 正则表达式匹配不考虑大小写。 |
nosubs | 没有子表达式 | match_results 结构将不包含子表达式匹配。 |
optimize | 优化匹配 | 匹配效率优于构造正则表达式对象的效率。 |
collate | 区域敏感度 | 字符范围,如 "[a-b]",受语言环境影响。 |
ECMAScript | ECMAScript 语法 | 正则表达式遵循这些语法之一。 需要设置这六个 grammar 标志中的一个(并且只有一个),以使位掩码具有有效值。 |
basic | 基本 POSIX 语法 | |
extended | 扩展 POSIX 语法 | |
awk | awk POSIX 语法 | |
grep | Grep POSIX 语法 | |
egrep | egrep POSIX 语法 |
C++14
标志 | 对语法的影响 | 注意事项 |
---|---|---|
icase | 不区分大小写 | 正则表达式匹配不考虑大小写。 |
nosubs | 没有子表达式 | 子表达式不被认为是被标记的。 match_results 结构将不包含子表达式匹配。 |
optimize | 优化匹配 | 匹配效率优于构造正则表达式对象的效率。 |
collate | 区域敏感度 | 字符范围,如 "[a-b]",受语言环境影响。 |
ECMAScript | ECMAScript 语法 | 正则表达式遵循这些语法之一。 最多可以设置这六个 grammar 标志中的一个,以使位掩码具有有效值。 如果未设置,则假定为 ECMAScript。 |
basic | 基本 POSIX 语法 | |
extended | 扩展 POSIX 语法 | |
awk | awk POSIX 语法 | |
grep | Grep POSIX 语法 | |
egrep | Egrep POSIX 语法 |
位掩码类型 match_flag_type
它用作函数 regex_match、regex_search 和 regex_replace 的参数,也用作 regex_iterator 和 regex_token_iterator 的构造函数的参数。
标志 | 效果 | 注意事项 |
---|---|---|
match_default | 默认 | 默认匹配行为.**. |
match_not_bol | 不是行首 | 第一个字符不被视为行首("^" 不匹配)。 |
match_not_eol | 不是行尾 | 最后一个字符不被视为行尾("$" 不匹配)。 |
match_not_bow | 不是词首 | 转义序列 "\b" 与 单词开头 不匹配。 |
match_not_eow | 不是词尾 | 转义序列 "\b" 不匹配为 词尾。 |
match_any | 任意匹配 | 如果可能有多个匹配项,则任何匹配项都是可以接受的。 |
match_not_null | Not null | 空序列不匹配。 |
match_continuous | Continuous | 表达式必须匹配从第一个字符开始的子序列。 子序列必须从要匹配的第一个字符开始。 |
match_prev_avail | 以前可用 | 在第一个字符之前存在一个或多个字符。 (match_not_bol 和 match_not_bow 被忽略) |
format_default | 默认格式 | 使用标准格式规则替换匹配项(ECMAScript 的替换方法使用的匹配项).**。 |
format_sed | sed 格式化 | 使用与 POSIX 中的 sed 实用程序相同的规则来替换匹配项。 |
format_no_copy | 没有副本 | 替换匹配时不复制目标序列中与正则表达式不匹配的部分。 |
format_first_only | 仅限第一 | 仅替换第一次出现的正则表达式。 |