17.2.2  名称空间std::regex_constants

17.2.2 名称空间 std::regex_ constants

通过正则表达式库,命名空间std::regex_constants包含了标识性常量。该命名空间提供了3种语法类型(syntax_option_type,match_flag_type,和error_type)以及这3种类型的几个常量数据。

1.syntax_option_type

syntax_option_type是位掩码类型。该类型的声明形式如下:

978-7-111-51399-5-Chapter17-9.jpg

设置其元素的意义见表17-1。该类型的任意有效值应该设置为几种类型的值(其值类型通常为ECMAScript、basic、extended、awk、grep及egrep)。

17-1 syntax_option_type的功能

978-7-111-51399-5-Chapter17-10.jpg

2.regex_contants::match_flag_type

match_flag_type也是位掩码类型。该类型的声明形式如下:

978-7-111-51399-5-Chapter17-11.jpg

此类型匹配一个正则表达式是按既定的语法规则,而不是按字符序列形式,详见表17-2。

17-2 regex_constants::match_flag_type的功能

978-7-111-51399-5-Chapter17-12.jpg

3.error_type

该类型的声明形式如下:

978-7-111-51399-5-Chapter17-13.jpg

type_error是一种枚举类型。其类型的值代表了错误条件见表17-3。

17-3 error_type

978-7-111-51399-5-Chapter17-14.jpg