Manpages - std_basic_regex.3

Table of Contents

NAME

std::basic_regex< _Ch_type, _Rx_traits >

SYNOPSIS


#include <regex.h>

Public Types

typedef regex_constants::syntax_option_type flag_type

typedef traits_type::locale_type locale_type

typedef traits_type::string_type string_type

typedef _Rx_traits traits_type

typedef _Ch_type value_type

Public Member Functions

basic_regex ()

template<typename _FwdIter > basic_regex (_FwdIter __first, _FwdIter __last, flag_type __f=ECMAScript)
Constructs a basic regular expression from the range [first, last) interpreted according to the flags in f.

basic_regex (basic_regex &&__rhs) noexcept=default
Move-constructs a basic regular expression.

basic_regex (const _Ch_type __p, *flag_type __f=ECMAScript)
Constructs a basic regular expression from the sequence [__p, __p + char_traits<_Ch_type>::length(__p)) interpreted according to the flags in __f.

basic_regex (const _Ch_type __p, std::size_t __len, *flag_type __f=ECMAScript)
Constructs a basic regular expression from the sequence [p, p + len) interpreted according to the flags in f.

basic_regex (const basic_regex &__rhs)=default
Copy-constructs a basic regular expression.

template<typename _Ch_traits , typename _Ch_alloc > basic_regex (const std::basic_string*< _Ch_type, _Ch_traits, _Ch_alloc > &__s, *flag_type __f=ECMAScript)
Constructs a basic regular expression from the string s interpreted according to the flags in f.

basic_regex (initializer_list*< _Ch_type > __l, *flag_type __f=ECMAScript)
Constructs a basic regular expression from an initializer list.

~basic_regex ()
Destroys a basic regular expression.

template<typename _InputIterator > basic_regex & assign (_InputIterator __first, _InputIterator __last, flag_type __flags=ECMAScript)
Assigns a new regular expression to a regex object.

basic_regex & assign (basic_regex &&__rhs) noexcept
The move-assignment operator.

basic_regex & assign (const _Ch_type __p, *flag_type __flags=ECMAScript)
Assigns a new regular expression to a regex object from a C-style null-terminated string containing a regular expression pattern.

basic_regex & assign (const _Ch_type __p, size_t __len, *flag_type __flags=ECMAScript)
Assigns a new regular expression to a regex object from a C-style string containing a regular expression pattern.

basic_regex & assign (const basic_regex &__rhs)
the real assignment operator.

template<typename _Ch_traits , typename _Alloc > basic_regex & assign (const basic_string*< _Ch_type, _Ch_traits, _Alloc > &__s, *flag_type __flags=ECMAScript)
Assigns a new regular expression to a regex object from a string containing a regular expression pattern.

basic_regex & assign (initializer_list*< _Ch_type > __l, *flag_type __flags=ECMAScript)
Assigns a new regular expression to a regex object.

flag_type flags () const
Gets the flags used to construct the regular expression or in the last call to assign().

locale_type getloc () const
Gets the locale currently imbued in the regular expression object.

locale_type imbue (locale_type __loc)
Imbues the regular expression object with the given locale.

unsigned int mark_count () const
Gets the number of marked subexpressions within the regular expression.

basic_regex & operator= (basic_regex &&__rhs) noexcept
Move-assigns one regular expression to another.

basic_regex & operator= (const _Ch_type *__p)
Replaces a regular expression with a new one constructed from a C-style null-terminated string.

basic_regex & operator= (const basic_regex &__rhs)
Assigns one regular expression to another.

template<typename _Ch_traits , typename _Alloc > basic_regex & operator= (const *basic_string*< _Ch_type, _Ch_traits, _Alloc > &__s)
Replaces a regular expression with a new one constructed from a string.

basic_regex & operator= (*initializer_list*< _Ch_type > __l)
Replaces a regular expression with a new one constructed from an initializer list.

void swap (basic_regex &__rhs)
Swaps the contents of two regular expression objects.

Static Public Attributes

Constants
std [28.8.1](1)

static constexpr flag_type icase

static constexpr flag_type nosubs

static constexpr flag_type optimize

static constexpr flag_type collate

static constexpr flag_type ECMAScript

static constexpr flag_type basic

static constexpr flag_type extended

static constexpr flag_type awk

static constexpr flag_type grep

static constexpr flag_type egrep

Friends

template<typename _Bp , typename _Ap , typename _Cp , typename _Rp , __detail::_RegexExecutorPolicy , bool > bool __detail::__regex_algo_impl (_Bp, _Bp, match_results*< _Bp, _Ap > &, const *basic_regex*< _Cp, _Rp > &, *regex_constants::match_flag_type)

template<typename , typename , typename , bool > class __detail::_Executor

Related Functions

(Note that these are not member functions.)

template<typename _Ch_type , typename _Rx_traits > void swap (*basic_regex*< _Ch_type, _Rx_traits > &__lhs, *basic_regex*< _Ch_type, _Rx_traits > &__rhs)
Swaps the contents of two regular expression objects.

Detailed Description

“template<typename _Ch_type, typename _Rx_traits =

regex_traits<_Ch_type>>
class std::basic_regex< _Ch_type, _Rx_traits >“Objects of specializations of this class represent regular expressions constructed from sequences of character type _Ch_type.

Storage for the regular expression is allocated and deallocated as necessary by the member functions of this class.

Definition at line 389 of file regex.h.

Member Typedef Documentation

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> typedef regex_constants::syntax_option_type std::basic_regex*< _Ch_type, _Rx_traits >::*flag_type Definition at line 399 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> typedef traits_type::locale_type std::basic_regex*< _Ch_type, _Rx_traits >::locale_type Definition at line *400 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> typedef traits_type::string_type std::basic_regex*< _Ch_type, _Rx_traits >::string_type Definition at line *398 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> typedef _Rx_traits std::basic_regex*< _Ch_type, _Rx_traits >::traits_type Definition at line *397 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> typedef _Ch_type std::basic_regex*< _Ch_type, _Rx_traits >::value_type Definition at line *396 of file regex.h.

Constructor & Destructor Documentation

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> std::basic_regex*< _Ch_type, _Rx_traits >::*basic_regex ()= [inline]= Constructs a basic regular expression that does not match any character sequence.

Definition at line 424 of file regex.h.

Referenced by std::basic_regex< _Ch_type, _Rx_traits >::assign().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> std::basic_regex*< _Ch_type, _Rx_traits >::*basic_regex (const _Ch_type * __p, flag_type __f = ECMAScript)= [inline]=, = [explicit]= Constructs a basic regular expression from the sequence [__p, __p + char_traits<_Ch_type>::length(__p)) interpreted according to the flags in __f.

Parameters

__p A pointer to the start of a C-style null-terminated string containing a regular expression.
__f Flags indicating the syntax rules and options.

Exceptions

regex_error if __p is not a valid regular expression.

Definition at line 440 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> std::basic_regex*< _Ch_type, _Rx_traits >::*basic_regex (const _Ch_type * __p, std::size_t __len, flag_type __f = ECMAScript)= [inline]= Constructs a basic regular expression from the sequence [p, p + len) interpreted according to the flags in f.

Parameters

__p A pointer to the start of a string containing a regular expression.
__len The length of the string containing the regular expression.
__f Flags indicating the syntax rules and options.

Exceptions

regex_error if __p is not a valid regular expression.

Definition at line 456 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> std::basic_regex*< _Ch_type, _Rx_traits >::*basic_regex (const *basic_regex*< _Ch_type, _Rx_traits > & __rhs)= [default]= Copy-constructs a basic regular expression.

Parameters

__rhs A regex object.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> std::basic_regex*< _Ch_type, _Rx_traits >::*basic_regex (*basic_regex*< _Ch_type, _Rx_traits > && __rhs)= [default]=, = [noexcept]= Move-constructs a basic regular expression.

Parameters

__rhs A regex object.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> template<typename _Ch_traits , typename _Ch_alloc > std::basic_regex*< _Ch_type, _Rx_traits >::*basic_regex (const std::basic_string*< _Ch_type, _Ch_traits, _Ch_alloc > & __s, *flag_type __f = ECMAScript)= [inline]=, = [explicit]= Constructs a basic regular expression from the string s interpreted according to the flags in f.

Parameters

__s A string containing a regular expression.
__f Flags indicating the syntax rules and options.

Exceptions

regex_error if __s is not a valid regular expression.

Definition at line 486 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> template<typename _FwdIter > std::basic_regex*< _Ch_type, _Rx_traits >::*basic_regex (_FwdIter __first, _FwdIter __last, flag_type __f = ECMAScript)= [inline]= Constructs a basic regular expression from the range [first, last) interpreted according to the flags in f.

Parameters

__first The start of a range containing a valid regular expression.
__last The end of a range containing a valid regular expression.
__f The format flags of the regular expression.

Exceptions

regex_error if [__first, __last) is not a valid regular expression.

Definition at line 506 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> std::basic_regex*< _Ch_type, _Rx_traits >::*basic_regex (initializer_list*< _Ch_type > __l, *flag_type __f = ECMAScript)= [inline]= Constructs a basic regular expression from an initializer list.

Parameters

__l The initializer list.
__f The format flags of the regular expression.

Exceptions

regex_error if __l is not a valid regular expression.

Definition at line 519 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> std::basic_regex*< _Ch_type, _Rx_traits >::~*basic_regex ()= [inline]= Destroys a basic regular expression.

Definition at line 526 of file regex.h.

Member Function Documentation

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> template<typename _InputIterator > basic_regex & std::basic_regex*< _Ch_type, _Rx_traits >::assign (_InputIterator __first, _InputIterator __last, *flag_type __flags = ECMAScript)= [inline]= Assigns a new regular expression to a regex object.

Parameters

__first The start of a range containing a valid regular expression.
__last The end of a range containing a valid regular expression.
__flags Syntax option flags.

Exceptions

regex_error if p does not contain a valid regular expression pattern interpreted according to __flags. If regex_error is thrown, the object remains unchanged.

Definition at line 675 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> basic_regex & *std::basic_regex*< _Ch_type, _Rx_traits >::assign (*basic_regex*< _Ch_type, _Rx_traits > && __rhs)= [inline]=, = [noexcept]= The move-assignment operator.

Parameters

__rhs Another regular expression object.

Definition at line 597 of file regex.h.

References std::move(), and std::basic_regex< _Ch_type, _Rx_traits >::swap().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> basic_regex & std::basic_regex*< _Ch_type, _Rx_traits >::assign (const _Ch_type * __p, *flag_type __flags = ECMAScript)= [inline]= Assigns a new regular expression to a regex object from a C-style null-terminated string containing a regular expression pattern.

Parameters

__p A pointer to a C-style null-terminated string containing a regular expression pattern.
__flags Syntax option flags.

Exceptions

regex_error if __p does not contain a valid regular expression pattern interpreted according to __flags. If regex_error is thrown, *this remains unchanged.

Definition at line 618 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> basic_regex & std::basic_regex*< _Ch_type, _Rx_traits >::assign (const _Ch_type * __p, size_t __len, *flag_type __flags = ECMAScript)= [inline]= Assigns a new regular expression to a regex object from a C-style string containing a regular expression pattern.

Parameters

__p A pointer to a C-style string containing a regular expression pattern.
__len The length of the regular expression pattern string.
__flags Syntax option flags.

Exceptions

regex_error if p does not contain a valid regular expression pattern interpreted according to __flags. If regex_error is thrown, *this remains unchanged.

Definition at line 637 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> basic_regex & *std::basic_regex*< _Ch_type, _Rx_traits >::assign (const *basic_regex*< _Ch_type, _Rx_traits > & __rhs)= [inline]= the real assignment operator.

Parameters

__rhs Another regular expression object.

Definition at line 584 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::swap().

Referenced by std::basic_regex< _Ch_type, _Rx_traits >::assign(), and std::basic_regex< _Ch_type, _Rx_traits >::operator=().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> template<typename _Ch_traits , typename _Alloc > basic_regex & std::basic_regex*< _Ch_type, _Rx_traits >::assign (const *basic_string*< _Ch_type, _Ch_traits, _Alloc > & __s, *flag_type __flags = ECMAScript)= [inline]= Assigns a new regular expression to a regex object from a string containing a regular expression pattern.

Parameters

__s A string containing a regular expression pattern.
__flags Syntax option flags.

Exceptions

regex_error if __s does not contain a valid regular expression pattern interpreted according to __flags. If regex_error is thrown, *this remains unchanged.

Definition at line 653 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::basic_regex(), std::basic_regex< _Ch_type, _Rx_traits >::assign(), std::basic_string< _CharT, _Traits, _Alloc >::data(), and std::basic_string< _CharT, _Traits, _Alloc >::size().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> basic_regex & std::basic_regex*< _Ch_type, _Rx_traits >::assign (*initializer_list*< _Ch_type > __l, *flag_type __flags = ECMAScript)= [inline]= Assigns a new regular expression to a regex object.

Parameters

__l An initializer list representing a regular expression.
__flags Syntax option flags.

Exceptions

regex_error if __l does not contain a valid regular expression pattern interpreted according to __flags. If regex_error is thrown, the object remains unchanged.

Definition at line 691 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> flag_type *std::basic_regex*< _Ch_type, _Rx_traits >::flags () const= [inline]= Gets the flags used to construct the regular expression or in the last call to assign().

Definition at line 712 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> locale_type *std::basic_regex*< _Ch_type, _Rx_traits >::getloc () const= [inline]= Gets the locale currently imbued in the regular expression object.

Definition at line 734 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> locale_type *std::basic_regex*< _Ch_type, _Rx_traits >::imbue (locale_type __loc)= [inline]= Imbues the regular expression object with the given locale.

Parameters

__loc A locale.

Definition at line 722 of file regex.h.

References std::swap().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> unsigned int *std::basic_regex*< _Ch_type, _Rx_traits >::mark_count () const= [inline]= Gets the number of marked subexpressions within the regular expression.

Definition at line 700 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> basic_regex & *std::basic_regex*< _Ch_type, _Rx_traits >::operator= (*basic_regex*< _Ch_type, _Rx_traits > && __rhs)= [inline]=, = [noexcept]= Move-assigns one regular expression to another.

Definition at line 540 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign(), and std::move().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> basic_regex & *std::basic_regex*< _Ch_type, _Rx_traits >::operator= (const _Ch_type * __p)= [inline]= Replaces a regular expression with a new one constructed from a C-style null-terminated string.

Parameters

__p A pointer to the start of a null-terminated C-style string containing a regular expression.

Definition at line 551 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> basic_regex & *std::basic_regex*< _Ch_type, _Rx_traits >::operator= (const *basic_regex*< _Ch_type, _Rx_traits > & __rhs)= [inline]= Assigns one regular expression to another.

Definition at line 533 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> template<typename _Ch_traits , typename _Alloc > basic_regex & *std::basic_regex*< _Ch_type, _Rx_traits >::operator= (const *basic_string*< _Ch_type, _Ch_traits, _Alloc > & __s)= [inline]= Replaces a regular expression with a new one constructed from a string.

Parameters

__s A pointer to a string containing a regular expression.

Definition at line 574 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> basic_regex & *std::basic_regex*< _Ch_type, _Rx_traits >::operator= (*initializer_list*< _Ch_type > __l)= [inline]= Replaces a regular expression with a new one constructed from an initializer list.

Parameters

__l The initializer list.

Exceptions

regex_error if __l is not a valid regular expression.

Definition at line 563 of file regex.h.

References std::basic_regex< _Ch_type, _Rx_traits >::assign().

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> void *std::basic_regex*< _Ch_type, _Rx_traits >::swap (*basic_regex*< _Ch_type, _Rx_traits > & __rhs)= [inline]= Swaps the contents of two regular expression objects.

Parameters

__rhs Another regular expression object.

Definition at line 744 of file regex.h.

References std::swap().

Referenced by std::basic_regex< _Ch_type, _Rx_traits >::assign(), and std::basic_regex< _Ch_type, _Rx_traits >::swap().

Friends And Related Function Documentation

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> template<typename , typename , typename , bool > friend class __detail::_Executor*= [friend]= Definition at line *776 of file regex.h.

Member Data Documentation

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> constexpr flag_type std::basic_regex*< _Ch_type, _Rx_traits >::awk= [static]=, = [constexpr]= Definition at line *414 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> constexpr flag_type std::basic_regex*< _Ch_type, _Rx_traits >::basic= [static]=, = [constexpr]= Definition at line *412 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> constexpr flag_type std::basic_regex*< _Ch_type, _Rx_traits >::*collate*= [static]=, = [constexpr]= Definition at line *410 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> constexpr flag_type std::basic_regex*< _Ch_type, _Rx_traits >::ECMAScript= [static]=, = [constexpr]= Definition at line *411 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> constexpr flag_type std::basic_regex*< _Ch_type, _Rx_traits >::egrep= [static]=, = [constexpr]= Definition at line *416 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> constexpr flag_type std::basic_regex*< _Ch_type, _Rx_traits >::extended= [static]=, = [constexpr]= Definition at line *413 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> constexpr flag_type std::basic_regex*< _Ch_type, _Rx_traits >::grep= [static]=, = [constexpr]= Definition at line *415 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> constexpr flag_type std::basic_regex*< _Ch_type, _Rx_traits >::icase= [static]=, = [constexpr]= Definition at line *407 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> constexpr flag_type std::basic_regex*< _Ch_type, _Rx_traits >::nosubs= [static]=, = [constexpr]= Definition at line *408 of file regex.h.

template<typename _Ch_type , typename _Rx_traits =

regex_traits<_Ch_type>> constexpr flag_type std::basic_regex*< _Ch_type, _Rx_traits >::optimize= [static]=, = [constexpr]= Definition at line *409 of file regex.h.

Author

Generated automatically by Doxygen for libstdc++ from the source code.

Author: dt

Created: 2022-02-20 Sun 21:04