描述一个子匹配项。
template<class BidIt>
class sub_match
: public std::pair<BidIt, BidIt> {
public:
bool matched;
int compare(const sub_match& right) const;
int compare(const basic_string<value_type>& right) const;
int compare(const value_type *right) const;
difference_type length() const;
operator basic_string<value_type>() const;
basic_string<value_type> str() const;
typedef typename iterator_traits<BidIt>::value_type value_type;
typedef typename iterator_traits<BidIt>::difference_type difference_type;
typedef BidIt iterator;
};
参数
- BidIt
子迭代器的类型。
备注
模板类描述指定字符序列对捕获组在调用到 regex_match 函数 或 regex_search 函数的对象。 类型 match_results 类 对象持有一个这些对象,可在搜索中使用的正则表达式中的每个捕获组。
如果捕获组没有匹配对象的数据成员 matched 对负错误,因此,两迭代器 first 和 second (继承自基 std::pair) 相同。 如果捕获组匹配,matched 应用,指向第一个字符的 first 迭代器指向中的捕获组匹配目标序列和迭代器指向 second 过最后一个字符的位置中的捕获组匹配目标序列。 为成员 matched 适用的零长度与请注意,两迭代数相等的,并且,与都指向的位置。
零长度才能出现匹配,则捕获组仅包含为零的断言时,允许重复或重复。 例如:
“^”与目标序列“a”;与捕获组 0 对应的 sub_match 对象保持该迭代器两个到第一个点。序列。
“a bc () a* b”与目标序列“bb”;与捕获组 1 对应的 sub_match 对象保持该迭代器两个到第二个点在序列。
要求
标头: <regex>
命名空间: std