类模板match_results描述了一个对象。该对象控制一个不可调整的元素序列(该元素序列是通过正则表达式搜索产生的)。每个元素指向其子序列,这些子序列和相关规则相匹配。该类中所含内容是非常丰富的。其声明形式如下:
从上述内容可知,该类包含了大量的成员函数。下面分别介绍这些成员函数。
上述代码分别定义了多个类型:value_type、const_reference、reference、const_iterator、iterator、difference_type、size_type、allocate_type、char_type以及string_type。
该类的构造函数包含了3种形式:
第一种形式是默认的构造函数;第二种形式是利用match_results类型的常量实现构造该类对象;第三种形式是利用match_results类型的变量实现构造该类对象。
两个operator=()函数用于在同类型变量之间进行赋值。其声明形式为:
当类match_results的对象已经完全建立时,函数ready()返回true;否则,返回false。
size()函数返回match_results类型对象中的子表达式个数。
empty()函数用于判断该对象中是否为空。
length()函数用于返回match_result类型对象中第n个匹配的子表达式的长度。
position()函数用于返回各子表达式第一个字符在原来序列中的位置。
str()函数用于将该类型对象转化为字符串。
prefix()函数和suffix()分别返回原有序列中,目标序列之前或之后的部分。
begin()函数和end()分别返回match_results类型对象中第一个子表达式的位置或最后位置。(www.xing528.com)
cbegin()函数和cend()的前缀“c”代表常量迭代式const_iterator。
swap()函数用于交换两个match_result类型对象的内容和大小。
format()函数主要适用于格式化字符串。此函数的使用比较复杂,涉及的参数也比较复杂。
其中参数flags是最复杂的,其参数值也最复杂,见表17-1、表17-2和表17-3。另外,格式字符串中替代符的功能详见表17-6。
表17-6 格式替代符的功能
该类的使用方法参见例17-6。
注:类smatch是类模板match_result的实例化类。其定义形式为:
此外,类cmatch也是类模板match_result的实例化类。
例17-6
例17-6的执行结果如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。