libstdc++: std::basic_regex< _Ch_type, _Rx_traits > Class Template Reference (original) (raw)

#include <[regex](a00176%5Fsource.html)>

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 () noexcept
template<typename _FwdIter >
basic_regex (_FwdIter __first, _FwdIter __last, flag_type __f=ECMAScript)
basic_regex (basic_regex &&__rhs) noexcept=default
basic_regex (const _Ch_type *__p, flag_type __f=ECMAScript)
basic_regex (const _Ch_type *__p, std::size_t __len, flag_type __f=ECMAScript)
basic_regex (const basic_regex &__rhs)=default
template<typename _Ch_traits , typename _Ch_alloc >
basic_regex (const std::basic_string< _Ch_type, _Ch_traits, _Ch_alloc > &__s, flag_type __f=ECMAScript)
basic_regex (initializer_list< _Ch_type > __l, flag_type __f=ECMAScript)
~basic_regex ()
template<typename _InputIterator >
basic_regex & assign (_InputIterator __first, _InputIterator __last, flag_type __flags=ECMAScript)
basic_regex & assign (basic_regex &&__rhs) noexcept
basic_regex & assign (const _Ch_type *__p, flag_type __flags=ECMAScript)
basic_regex & assign (const _Ch_type *__p, size_t __len, flag_type __flags=ECMAScript)
basic_regex & assign (const basic_regex &__rhs) noexcept
template<typename _Ch_traits , typename _Alloc >
basic_regex & assign (const basic_string< _Ch_type, _Ch_traits, _Alloc > &__s, flag_type __flags=ECMAScript)
basic_regex & assign (initializer_list< _Ch_type > __l, flag_type __flags=ECMAScript)
flag_type flags () const noexcept
locale_type getloc () const noexcept
locale_type imbue (locale_type __loc)
unsigned int mark_count () const noexcept
basic_regex & operator= (basic_regex &&)=default
basic_regex & operator= (const _Ch_type *__p)
basic_regex & operator= (const basic_regex &)=default
template<typename _Ch_traits , typename _Alloc >
basic_regex & operator= (const basic_string< _Ch_type, _Ch_traits, _Alloc > &__s)
basic_regex & operator= (initializer_list< _Ch_type > __l)
void swap (basic_regex &__rhs) noexcept
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
static constexpr flag_type multiline
Friends
template<typename _Bp , typename _Ap , typename _Cp , typename _Rp >
bool __detail::__regex_algo_impl (_Bp, _Bp, match_results< _Bp, _Ap > &, const basic_regex< _Cp, _Rp > &, regex_constants::match_flag_type, __detail::_RegexExecutorPolicy, bool)
template<typename , typename , typename , bool >
class __detail::_Executor
Related Symbols
(Note that these are not member symbols.)
template<typename _Ch_type , typename _Rx_traits >
void swap (basic_regex< _Ch_type, _Rx_traits > &__lhs, basic_regex< _Ch_type, _Rx_traits > &__rhs) noexcept

template<typename _Ch_type, typename _Rx_traits = regex_traits<_Ch_type>>
class std::basic_regex< _Ch_type, _Rx_traits >

A regular expression.

Specializations of this class template represent regular expressions constructed from sequences of character type _Ch_type. Use the std::regex typedef for std::basic_regex<char>.

A character sequence passed to the constructor will be parsed according to the chosen grammar, and used to create a state machine representing the regular expression. The regex object can then be passed to algorithms such as std::regex_match to match sequences of characters.

The syntax_option_type flag passed to the constructor selects from one of the supported regular expression grammars. The default is ECMAScript and the others are basic, extended, awk, grep, and egrep, which are variations on POSIX regular expressions.

Since

C++11

Definition at line 418 of file regex.h.

flag_type

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

locale_type

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

string_type

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

traits_type

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

value_type

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

Constructs a basic regular expression that does not match any character sequence.

Definition at line 456 of file regex.h.

basic_regex() [2/8]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

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 472 of file regex.h.

basic_regex() [3/8]

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 487 of file regex.h.

basic_regex() [4/8]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

Copy-constructs a basic regular expression.

Parameters

basic_regex() [5/8]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

Move-constructs a basic regular expression.

Parameters

basic_regex() [6/8]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

template<typename _Ch_traits , typename _Ch_alloc >

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 519 of file regex.h.

basic_regex() [7/8]

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 538 of file regex.h.

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

basic_regex() [8/8]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

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 550 of file regex.h.

~basic_regex()

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

Destroys a basic regular expression.

Definition at line 556 of file regex.h.

assign() [1/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

template<typename _InputIterator >

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 701 of file regex.h.

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

assign() [2/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

Move-assigns one regular expression to another.

Parameters

__rhs Another regular expression object.

Definition at line 621 of file regex.h.

References std::move().

assign() [3/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

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 638 of file regex.h.

assign() [4/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

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 660 of file regex.h.

assign() [5/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

assign() [6/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

template<typename _Ch_traits , typename _Alloc >

assign() [7/7]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

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 733 of file regex.h.

flags()

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

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

Definition at line 757 of file regex.h.

getloc()

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

locale_type std::basic_regex< _Ch_type, _Rx_traits >::getloc ( ) const inlinenoexcept

Gets the locale currently imbued in the regular expression object.

Definition at line 779 of file regex.h.

imbue()

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

Definition at line 767 of file regex.h.

mark_count()

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

unsigned int std::basic_regex< _Ch_type, _Rx_traits >::mark_count ( ) const inlinenoexcept

Gets the number of marked subexpressions within the regular expression.

Definition at line 745 of file regex.h.

operator=() [1/5]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

Move-assigns one regular expression to another.

operator=() [2/5]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

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 579 of file regex.h.

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

operator=() [3/5]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

Assigns one regular expression to another.

operator=() [4/5]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

template<typename _Ch_traits , typename _Alloc >

operator=() [5/5]

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

swap()

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

Swaps the contents of two regular expression objects.

Parameters

__rhs Another regular expression object.

Definition at line 789 of file regex.h.

__detail::_Executor

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

template<typename , typename , typename , bool >

awk

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

basic

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

collate

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

ECMAScript

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

egrep

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

extended

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

grep

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

icase

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

multiline

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

nosubs

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>

optimize

template<typename _Ch_type , typename _Rx_traits = regex_traits<_Ch_type>>


The documentation for this class was generated from the following file: