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: