头文件

<regex>

正则表达式
正则表达式是一种标准化的方式,用于表示要与字符序列匹配的模式。

标准 C++ 库通过<regex>头文件中的一系列操作来提供对正则表达式的支持。所有这些操作都使用一些典型的正则表达式参数。
  • 目标序列 (subject): 被搜索模式的字符序列。通常,这是一个由两个迭代器指定的范围,但一些函数也接受 C 风格字符串或 string 对象。
  • 正则表达式 (pattern): 在目标序列中搜索的模式。这必须是一个 basic_regex 类型的对象(例如 regex),通常由一个具有特殊语法的字符串构造,该语法描述了构成匹配的内容(参见 ECMAScript 语法)。
  • 匹配数组: 一些操作允许检索有关匹配的信息。此信息存储在特殊的 match_results 数组类型之一中(例如 cmatchsmatch)。
  • 替换字符串: 一些操作可以替换匹配项。这些替换在允许特殊格式的字符串中指定(参见 ECMAScript 语法)。

正则表达式操作

正则表达式操作使用函数或特殊的迭代器适配器执行。

函数


迭代器类型


正则表达式函数和迭代器大量使用一组支持类型作为参数和返回值。

基本类型


其中一些类型是模板,并为其最常见的实例化提供了别名。

basic_regex 的实例化

match_results 的实例化

sub_match 的实例化


命名空间

此头文件还定义了一个命名空间 regex_constants,库要使用的所有常量值都位于该命名空间下。

语法

正则表达式遵循非常严格的语法。默认情况下,此库中的函数使用 ECMAScript 语法。

其他函数