std::basic_regex 常量
来自 cppreference.com
< cpp | regex | basic regex
std::basic_regex 定义了一些控制一般正则表达式匹配语法的常量。
这些常量从 std::regex_constants 中复制
语法选项 | 效果 |
ECMAScript
|
使用 修改后的 ECMAScript 正则表达式语法。 |
basic
|
使用基本的 POSIX 正则表达式语法 (语法文档). |
extended
|
使用扩展的 POSIX 正则表达式语法 (语法文档). |
awk
|
使用 POSIX 中 awk 工具使用的正则表达式语法 (语法文档). |
grep
|
使用 POSIX 中 grep 工具使用的正则表达式语法。这实际上与 basic 选项相同,只是添加了换行符 '\n' 作为替换分隔符。 |
egrep
|
使用 POSIX 中 grep 工具(带 -E 选项)使用的正则表达式语法。这实际上与 extended 选项相同,只是除了 '|' 之外,还添加了换行符 '\n' 作为替换分隔符。 |
语法变体 | 效果 |
icase
|
字符匹配应不区分大小写进行。 |
nosubs
|
在执行匹配时,所有标记的子表达式 (expr) 都被视为非标记子表达式 (?:expr) 。没有匹配项存储在提供的 std::regex_match 结构中,并且 mark_count() 为零。 |
optimize
|
指示正则表达式引擎使匹配速度更快,但可能以使构造速度变慢为代价。例如,这可能意味着将非确定性 FSA 转换为确定性 FSA。 |
collate
|
形式为 "[a-b]" 的字符范围将对区域设置敏感。 |
multiline (C++17) |
指定 ^ 应匹配行的开头,而 $ 应匹配行的结尾,如果选择了 ECMAScript 引擎。 |
最多只能从 ECMAScript
、basic
、extended
、awk
、grep
、egrep
中选择一个语法选项。如果未选择语法,则假定选择了 ECMAScript
。其他选项充当变体,因此 std::regex("meow", std::regex::icase) 等效于 std::regex("meow", std::regex::ECMAScript|std::regex::icase).
[编辑] 另请参阅
(C++11) |
控制正则表达式行为的一般选项 (typedef) |