Compartilhar via


Classe sub_match

Descreve um submatch.

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;
    };

Parâmetros

  • BidIt
    O tipo de iterador para submatches.

Comentários

A classe do modelo descreve um objeto que designa uma sequência de caracteres que corresponderam um grupo de captura em uma chamada para Função regex_match ou a Função regex_search. Os objetos do tipo Classe match_results mantêm uma matriz desses objetos, um para cada grupo de captura na expressão regular usada na pesquisa.

Se o grupo de captura não foi feita ao membro de dados matched de objeto contém false, e os dois iteradores first e second (herdados da base std::pair) são iguais. Se o grupo de captura foi encontrado, matched se aplica, os pontos de first de iterador o primeiro caractere da sequência de destino que correspondeu ao grupo de captura, e os pontos de second de iterador um passado a posição o último caractere da sequência de destino que correspondeu ao grupo de captura. Observe que para que uma correspondência de comprimento zero matched contém o membro for true, os dois iteradores serão iguais, e ambos apontarão para a posição de correspondência.

Uma correspondência de comprimento zero pode ocorrer quando um grupo de captura consiste apenas em uma asserção, ou uma reprodução que permite repete zero. Por exemplo:

“^” corresponde à sequência “a” de destino; o objeto de sub_match que corresponde ao grupo 0 de captura possui iteradores que os dois aponte para o primeiro caractere na sequência.

“b () a* b” corresponde à sequência “bb de destino;” o objeto de sub_match que corresponde ao grupo 1 de captura possui iteradores que os dois aponte para o segundo caractere na sequência.

Requisitos

regex <deCabeçalho: >

Namespace: std

Consulte também

Referência

<regex>

Classe sub_match

Função regex_match

Função regex_search

Outros recursos

<regex> Membros