正则表达式类和输入序列类型

来源:互联网 发布:铝合金门窗 知乎 编辑:程序博客网 时间:2024/05/08 09:30

我们可以搜索多种类型的输入序列。输入可以是普通char数据或wchar_t数据,字符可以保存在标准库string中或是char数组中(或是宽字符版本,wstring或wchar_t数组中)。RE为这些不同的输入序列都定义了对应的类型。
例如,regex类保存类型char的正则表达式。标准库还定义了一个wregex类保存类型wchar_t,其操作与regex完全相同。两者唯一的差别是wregex的初始值必须使用wchar_t而不是char。
匹配和迭代器类型更为特殊。这些类型的差异不仅在于字符类型,还在于序列是在标准库string中还是在数组中:smatch表示string类型的输入序列;cmatch表示字符序列;wsmatch表示宽字符串(wstring)输入;而wcmatch表示宽字符数组。
重点在于:我们使用的RE库类型必须与输入序列类型匹配。

如果输入序列类型为:string则使用正则表达式类:regex、smatch、ssub_match、sregex_iterator如果输入序列类型为:const char*则使用正则表达式类:regex、cmatch、csub_match、cregex_iterator
0 0