Compartilhar via


Classe basic_regex

Encapsula uma expressão regular.

template<class Elem,
    class RXtraits = regex_traits<Elem>,
    class basic_regex {
public:
    basic_regex();
    explicit basic_regex(const Elem *ptr,
        flag_type flags = ECMAScript);
    basic_regex(const Elem *ptr, size_type len,
        flag_type flags = ECMAScript);
    basic_regex(const basic_regex& right);
    template<class STtraits, class STalloc>
        explicit basic_regex(const basic_string<Elem, STtraits, STalloc>& str,
            flag_type flags = ECMAScript);
    template<class InIt>
        explicit basic_regex(InIt first, InIt last,
            flag_type flags = ECMAScript);

    basic_regex& operator=(const basic_regex& right);
    basic_regex& operator=(const Elem *ptr);
    template<class STtraits, class STalloc>
        basic_regex& operator=(const basic_string<Elem, STtraits, STalloc>& str);
    basic_regex& assign(const basic_regex& right);
    basic_regex& assign(const Elem *ptr,
        flag_type flags = ECMAScript);
    basic_regex& assign(const Elem *ptr, size_type len,
        flag_type flags = ECMAScript);
    template<class STtraits, class STalloc>
    basic_regex& assign(const basic_string<Elem, STtraits, STalloc>& str,
        flag_type flags = ECMAScript);
    template<class InIt>
        basic_regex& assign(InIt first, InIt last,
            flag_type flags = ECMAScript);

    locale_type imbue(locale_type loc);
    locale_type getloc() const;
    void swap(basic_regex& other) throw();
    unsigned mark_count() const;
    flag_type flags() const;

    typedef Elem value_type;
    typedef regex_constants::syntax_option_type flag_type;
    typedef typename RXtraits::locale_type locale_type;
    static const flag_type icase = regex_constants::icase;
    static const flag_type nosubs = regex_constants::nosubs;
    static const flag_type optimize = regex_constants::optimize;
    static const flag_type collate = regex_constants::collate;
    static const flag_type ECMAScript = regex_constants::ECMAScript;
    static const flag_type basic = regex_constants::basic;
    static const flag_type extended = regex_constants::extended;
    static const flag_type awk = regex_constants::awk;
    static const flag_type grep = regex_constants::grep;
    static const flag_type egrep = regex_constants::egrep;
private:
    RXtraits traits;    // exposition only
    };

Parâmetros

  • Elem
    O tipo de elemento a ser correspondido.

  • RXtraits
    Classe de características para elementos.

Comentários

Uma classe de modelo descreve um objeto que mantém uma expressão regular. Os objetos dessa classe de modelo podem ser passados para as funções de modelo Função regex_match, Função regex_search e Função regex_replace juntamente com argumentos de cadeia de caracteres de texto adequados para pesquisa texto que corresponda à expressão regular. Há duas especializações dessa classe de modelo, com as definições de tipo Typedef regex para os elementos do tipo char e Typedef wregex para elementos do tipo wchar_t.

O argumento de modelo RXtraits descreve as várias propriedades importantes da sintaxe das expressões regulares que têm suporte da classe de modelo. Uma classe que especifica essas características da expressão regular deve ter a mesma interface externa que um objeto da classe de modelo Classe regex_traits.

Algumas funções usam uma sequência de operando que define uma expressão regular. Você pode especificar uma sequência de operando de várias maneiras:

ptr – uma sequência nula concluída (como uma cadeia de caracteres C, para Elem do tipo char) começando em ptr (que não deve ser um ponteiro nulo), em que o elemento de finalização é o valor value_type() e não faz parte da sequência de operando

ptr, count – uma sequência de elementos count começando em ptr (que não deve ser um ponteiro nulo)

str – a sequência especificada pelo objeto basic_string str

first, last – uma sequência de elementos delimitados pelos iteradores first e last, no intervalo [first, last)

right – o objeto basic_regex right

Essas funções membro também usam um argumento flags que especifica várias opções para a interpretação da expressão regular, além daquelas descritas pelo tipo RXtraits.

Requisitos

Cabeçalho: <regex>

Namespace: std

Consulte também

Referência

<regex>

Função regex_match

Função regex_search

Função regex_replace

Typedef regex

Typedef wregex

Classe regex_traits

Outros recursos

<regex> Membros