Partilhar via


basic_regex Class

Quebra 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 elementos para corresponder.

  • RXtraits
    Classe de características de elementos.

Comentários

A classe de modelo descreve um objeto que contém uma expressão regular.Objetos desta classe de modelo podem ser passados para as funções do modelo regex_match Function, regex_search Function, e regex_replace Function, juntamente com os argumentos de seqüência de caracteres de texto adequado, para procurar por texto que corresponde à expressão regular.A biblioteca de TR1 fornece duas especializações dessa classe de modelo, com as definições de tipo regex Typedef para elementos do tipo char, e wregex Typedef para elementos do tipo wchar_t.

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

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

ptr– uma seqüência terminada por caractere nulo (como, por exemplo, uma seqüência de C, para Elem do tipo char) começando no ptr (que não deve ser um ponteiro nulo), onde o elemento de terminação é o valor value_type() e não é parte da seqüência do operando

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

str– a seqüência especificada o basic_string objetostr

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

right– o basic_regex objetoright

Essas funções de membro também utilizam um argumento flags que especifica várias opções para a interpretação da expressão regular em adição aos que descrito pela RXtraits tipo.

Requisitos

Cabeçalho: <regex>

Namespace: std

Consulte também

Referência

<regex>

regex_match Function

regex_search Function

regex_replace Function

regex Typedef

wregex Typedef

regex_traits Class

Outros recursos

<regex> Membros