Sdílet prostřednictvím


basic_regex – třída

Zabalí regulární výraz.

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

Parametry

  • Elem
    Typ prvků, které se mají spárovat.

  • RXtraits
    Třída vlastností prvků.

Poznámky

Třída šablony popisuje objekt, který obsahuje regulární výraz.Objekty této třídy šablony mohou být předány do funkcí šablony regex_match – funkce, regex_search – funkce a regex_replace – funkce spolu s vhodnými argumenty textového řetězce, chcete-li vyhledat text, který odpovídá regulárnímu výrazu.Existují dvě specializace této třídy šablony, s definicemi typu regex – Typedef pro prvky typu char a wregex – Typedef pro prvky typu wchar_t.

Argument šablony RXtraits popisuje různé důležité vlastnosti syntaxe regulárních výrazů, které třída šablony podporuje.Třída, která určuje tyto vlastnosti regulárního výrazu, musí mít stejné externí rozhraní jako objekt třídy šablony regex_traits – třída.

Některé funkce provádějí sekvenci operandu, která definuje regulární výraz.Tuto sekvenci operandů můžete zadat několika způsoby:

ptr -- sekvence zakončená hodnotou null (například řetězec jazyka C pro Elem typu char) začínající v ptr (což nesmí být nulový ukazatel), kde ukončující prvek je hodnota value_type() a nejde o součást sekvence operandů.

ptr, count -- sekvence prvků count začínající v ptr (což nesmí být nulový ukazatel)

str -- sekvence určená basic_string objektem str

first, last -- sekvence prvků oddělená iterátory first a last v rozsahu [first, last)

right -- basic_regex objekt right

Tyto členské funkce také přijímají argument flags, který určuje různé možnosti pro výklad regulárního výrazu mimo těch popsaných typem RXtraits.

Požadavky

Hlavička: <regex>

Obor názvů: std

Viz také

Referenční dokumentace

<regex>

regex_match – funkce

regex_search – funkce

regex_replace – funkce

regex – Typedef

wregex – Typedef

regex_traits – třída

Další zdroje

<regex> Členové