libstdc++: Regular Expressions

libstdc++

Regular Expressions
Collaboration diagram for Regular Expressions:

## Topics
| Base and Implementation Classes

## Namespaces
namespace | std::regex_constants

## Classes
class | std::basic_regex< _Ch_type, _Rx_traits >
class | std::match_results< _Bi_iter, _Alloc >
class | std::regex_error
class | std::regex_iterator< _Bi_iter, _Ch_type, _Rx_traits >
class | std::regex_token_iterator< _Bi_iter, _Ch_type, _Rx_traits >
class | std::regex_traits< _Ch_type >
class | std::sub_match< _BiIter >

## Typedefs
typedef match_results< const char * > | std::cmatch
typedef regex_iterator< const char * > | std::cregex_iterator
typedef regex_token_iterator< const char * > | std::cregex_token_iterator
typedef sub_match< const char * > | std::csub_match
typedef basic_regex< char > | std::regex
typedef match_results< string::const_iterator > | std::smatch
typedef regex_iterator< string::const_iterator > | std::sregex_iterator
typedef regex_token_iterator< string::const_iterator > | std::sregex_token_iterator
typedef sub_match< string::const_iterator > | std::ssub_match
typedef match_results< const wchar_t * > | std::wcmatch
typedef regex_iterator< const wchar_t * > | std::wcregex_iterator
typedef regex_token_iterator< const wchar_t * > | std::wcregex_token_iterator
typedef sub_match< const wchar_t * > | std::wcsub_match
typedef basic_regex< wchar_t > | std::wregex
typedef match_results< wstring::const_iterator > | std::wsmatch
typedef regex_iterator< wstring::const_iterator > | std::wsregex_iterator
typedef regex_token_iterator< wstring::const_iterator > | std::wsregex_token_iterator
typedef sub_match< wstring::const_iterator > | std::wssub_match

## Functions
template<typename _ForwardIterator>
| std::basic_regex (_ForwardIterator, _ForwardIterator, regex_constants::syntax_option_type={}) -> basic_regex< typename iterator_traits< _ForwardIterator >::value_type >
template<typename _Bi_iter, typename _Alloc>
bool | operator== (const match_results< _Bi_iter, _Alloc > &__m1, const match_results< _Bi_iter, _Alloc > &__m2)
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 _Bi_iter, typename _Alloc>
void | swap (match_results< _Bi_iter, _Alloc > &__lhs, match_results< _Bi_iter, _Alloc > &__rhs) noexcept

## Matching, Searching, and Replacing
template<typename _Bi_iter, typename _Alloc, typename _Ch_type, typename _Rx_traits>
bool | std::regex_match (_Bi_iter __s, _Bi_iter __e, match_results< _Bi_iter, _Alloc > &__m, const basic_regex< _Ch_type, _Rx_traits > &__re, regex_constants::match_flag_type __flags=regex_constants::match_default)
template<typename _Bi_iter, typename _Ch_type, typename _Rx_traits>
bool | std::regex_match (_Bi_iter __first, _Bi_iter __last, const basic_regex< _Ch_type, _Rx_traits > &__re, regex_constants::match_flag_type __flags=regex_constants::match_default)
template<typename _Ch_type, typename _Alloc, typename _Rx_traits>
bool | std::regex_match (const _Ch_type *__s, match_results< const _Ch_type *, _Alloc > &__m, const basic_regex< _Ch_type, _Rx_traits > &__re, regex_constants::match_flag_type __f=regex_constants::match_default)
template<typename _Ch_traits, typename _Ch_alloc, typename _Alloc, typename _Ch_type, typename _Rx_traits>
bool | std::regex_match (const basic_string< _Ch_type, _Ch_traits, _Ch_alloc > &__s, match_results< typename basic_string< _Ch_type, _Ch_traits, _Ch_alloc >::const_iterator, _Alloc > &__m, const basic_regex< _Ch_type, _Rx_traits > &__re, regex_constants::match_flag_type __flags=regex_constants::match_default)
template<typename _Ch_traits, typename _Ch_alloc, typename _Alloc, typename _Ch_type, typename _Rx_traits>
bool | std::regex_match (const basic_string< _Ch_type, _Ch_traits, _Ch_alloc > &&, match_results< typename basic_string< _Ch_type, _Ch_traits, _Ch_alloc >::const_iterator, _Alloc > &, const basic_regex< _Ch_type, _Rx_traits > &, regex_constants::match_flag_type=regex_constants::match_default)=delete
template<typename _Ch_type, class _Rx_traits>
bool | std::regex_match (const _Ch_type *__s, const basic_regex< _Ch_type, _Rx_traits > &__re, regex_constants::match_flag_type __f=regex_constants::match_default)
template<typename _Ch_traits, typename _Str_allocator, typename _Ch_type, typename _Rx_traits>
bool | std::regex_match (const basic_string< _Ch_type, _Ch_traits, _Str_allocator > &__s, const basic_regex< _Ch_type, _Rx_traits > &__re, regex_constants::match_flag_type __flags=regex_constants::match_default)
template<typename _Bi_iter, typename _Alloc, typename _Ch_type, typename _Rx_traits>
bool | std::regex_search (_Bi_iter __s, _Bi_iter __e, match_results< _Bi_iter, _Alloc > &__m, const basic_regex< _Ch_type, _Rx_traits > &__re, regex_constants::match_flag_type __flags=regex_constants::match_default)
template<typename _Bi_iter, typename _Ch_type, typename _Rx_traits>
bool | std::regex_search (_Bi_iter __first, _Bi_iter __last, const basic_regex< _Ch_type, _Rx_traits > &__re, regex_constants::match_flag_type __flags=regex_constants::match_default)
template<typename _Ch_type, class _Alloc, class _Rx_traits>
bool | std::regex_search (const _Ch_type *__s, match_results< const _Ch_type *, _Alloc > &__m, const basic_regex< _Ch_type, _Rx_traits > &__e, regex_constants::match_flag_type __f=regex_constants::match_default)
template<typename _Ch_type, typename _Rx_traits>
bool | std::regex_search (const _Ch_type *__s, const basic_regex< _Ch_type, _Rx_traits > &__e, regex_constants::match_flag_type __f=regex_constants::match_default)
template<typename _Ch_traits, typename _String_allocator, typename _Ch_type, typename _Rx_traits>
bool | std::regex_search (const basic_string< _Ch_type, _Ch_traits, _String_allocator > &__s, const basic_regex< _Ch_type, _Rx_traits > &__e, regex_constants::match_flag_type __flags=regex_constants::match_default)
template<typename _Ch_traits, typename _Ch_alloc, typename _Alloc, typename _Ch_type, typename _Rx_traits>
bool | std::regex_search (const basic_string< _Ch_type, _Ch_traits, _Ch_alloc > &__s, match_results< typename basic_string< _Ch_type, _Ch_traits, _Ch_alloc >::const_iterator, _Alloc > &__m, const basic_regex< _Ch_type, _Rx_traits > &__e, regex_constants::match_flag_type __f=regex_constants::match_default)
template<typename _Ch_traits, typename _Ch_alloc, typename _Alloc, typename _Ch_type, typename _Rx_traits>
bool | std::regex_search (const basic_string< _Ch_type, _Ch_traits, _Ch_alloc > &&, match_results< typename basic_string< _Ch_type, _Ch_traits, _Ch_alloc >::const_iterator, _Alloc > &, const basic_regex< _Ch_type, _Rx_traits > &, regex_constants::match_flag_type=regex_constants::match_default)=delete
template<typename _Out_iter, typename _Bi_iter, typename _Rx_traits, typename _Ch_type, typename _St, typename _Sa>
_Out_iter | std::regex_replace (_Out_iter __out, _Bi_iter __first, _Bi_iter __last, const basic_regex< _Ch_type, _Rx_traits > &__e, const basic_string< _Ch_type, _St, _Sa > &__fmt, regex_constants::match_flag_type __flags=regex_constants::match_default)
template<typename _Out_iter, typename _Bi_iter, typename _Rx_traits, typename _Ch_type>
_Out_iter | std::regex_replace (_Out_iter __out, _Bi_iter __first, _Bi_iter __last, const basic_regex< _Ch_type, _Rx_traits > &__e, const _Ch_type *__fmt, regex_constants::match_flag_type __flags=regex_constants::match_default)
template<typename _Rx_traits, typename _Ch_type, typename _St, typename _Sa, typename _Fst, typename _Fsa>
basic_string< _Ch_type, _St, _Sa > | std::regex_replace (const basic_string< _Ch_type, _St, _Sa > &__s, const basic_regex< _Ch_type, _Rx_traits > &__e, const basic_string< _Ch_type, _Fst, _Fsa > &__fmt, regex_constants::match_flag_type __flags=regex_constants::match_default)
template<typename _Rx_traits, typename _Ch_type, typename _St, typename _Sa>
basic_string< _Ch_type, _St, _Sa > | std::regex_replace (const basic_string< _Ch_type, _St, _Sa > &__s, const basic_regex< _Ch_type, _Rx_traits > &__e, const _Ch_type *__fmt, regex_constants::match_flag_type __flags=regex_constants::match_default)
template<typename _Rx_traits, typename _Ch_type, typename _St, typename _Sa>
basic_string< _Ch_type > | std::regex_replace (const _Ch_type *__s, const basic_regex< _Ch_type, _Rx_traits > &__e, const basic_string< _Ch_type, _St, _Sa > &__fmt, regex_constants::match_flag_type __flags=regex_constants::match_default)
template<typename _Rx_traits, typename _Ch_type>
basic_string< _Ch_type > | std::regex_replace (const _Ch_type *__s, const basic_regex< _Ch_type, _Rx_traits > &__e, const _Ch_type *__fmt, regex_constants::match_flag_type __flags=regex_constants::match_default)
template<typename _BiIter>
bool | operator== (const sub_match< _BiIter > &__lhs, const sub_match< _BiIter > &__rhs)
template<typename _BiIter>
auto | operator<=> (const sub_match< _BiIter > &__lhs, const sub_match< _BiIter > &__rhs) noexcept(__detail::__is_contiguous_iter< _BiIter >::value)
template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>
bool | operator== (const sub_match< _Bi_iter > &__lhs, const __sub_match_string< _Bi_iter, _Ch_traits, _Ch_alloc > &__rhs)
template<typename _Bi_iter, typename _Ch_traits, typename _Alloc>
auto | operator<=> (const sub_match< _Bi_iter > &__lhs, const __sub_match_string< _Bi_iter, _Ch_traits, _Alloc > &__rhs) noexcept(__detail::__is_contiguous_iter< _Bi_iter >::value)
template<typename _Bi_iter>
bool | operator== (const sub_match< _Bi_iter > &__lhs, typename iterator_traits< _Bi_iter >::value_type const *__rhs)
template<typename _Bi_iter>
auto | operator<=> (const sub_match< _Bi_iter > &__lhs, typename iterator_traits< _Bi_iter >::value_type const *__rhs) noexcept(__detail::__is_contiguous_iter< _Bi_iter >::value)
template<typename _Bi_iter>
bool | operator== (const sub_match< _Bi_iter > &__lhs, typename iterator_traits< _Bi_iter >::value_type const &__rhs)
template<typename _Bi_iter>
auto | operator<=> (const sub_match< _Bi_iter > &__lhs, typename iterator_traits< _Bi_iter >::value_type const &__rhs) noexcept(__detail::__is_contiguous_iter< _Bi_iter >::value)
template<typename _Ch_type, typename _Ch_traits, typename _Bi_iter>
basic_ostream< _Ch_type, _Ch_traits > & | operator<< (basic_ostream< _Ch_type, _Ch_traits > &__os, const sub_match< _Bi_iter > &__m)

## Detailed Description

A facility for performing regular expression pattern matching.

Since
  C++11

## Typedef Documentation

## ◆ cmatch

typedef match_results<const char*> std::cmatch

Definition at line 2190 of file regex.h.

## ◆ cregex_iterator

typedef regex_iterator<const char*> std::cregex_iterator

Definition at line 2867 of file regex.h.

## ◆ cregex_token_iterator

typedef regex_token_iterator<const char*> std::cregex_token_iterator

Token iterator for C-style NULL-terminated strings.

Definition at line 3121 of file regex.h.

## ◆ csub_match

typedef sub_match<const char*> std::csub_match

Standard regex submatch over a C-style null-terminated string.

Definition at line 1100 of file regex.h.

## ◆ regex

typedef basic_regex<char> std::regex

Standard regular expressions.

Definition at line 901 of file regex.h.

## ◆ smatch

typedef match_results<string::const_iterator> std::smatch

Definition at line 2191 of file regex.h.

## ◆ sregex_iterator

typedef regex_iterator<string::const_iterator> std::sregex_iterator

Definition at line 2868 of file regex.h.

## ◆ sregex_token_iterator

typedef regex_token_iterator<string::const_iterator> std::sregex_token_iterator

Token iterator for standard strings.

Definition at line 3124 of file regex.h.

## ◆ ssub_match

typedef sub_match<string::const_iterator> std::ssub_match

Standard regex submatch over a standard string.

Definition at line 1103 of file regex.h.

## ◆ wcmatch

typedef match_results<const wchar_t*> std::wcmatch

Definition at line 2193 of file regex.h.

## ◆ wcregex_iterator

typedef regex_iterator<const wchar_t*> std::wcregex_iterator

Definition at line 2870 of file regex.h.

## ◆ wcregex_token_iterator

typedef regex_token_iterator<const wchar_t*> std::wcregex_token_iterator

Token iterator for C-style NULL-terminated wide strings.

Definition at line 3128 of file regex.h.

## ◆ wcsub_match

typedef sub_match<const wchar_t*> std::wcsub_match

Regex submatch over a C-style null-terminated wide string.

Definition at line 1107 of file regex.h.

## ◆ wregex

typedef basic_regex<wchar_t> std::wregex

Standard wide-character regular expressions.

Definition at line 905 of file regex.h.

## ◆ wsmatch

typedef match_results<wstring::const_iterator> std::wsmatch

Definition at line 2194 of file regex.h.

## ◆ wsregex_iterator

typedef regex_iterator<wstring::const_iterator> std::wsregex_iterator

Definition at line 2871 of file regex.h.

## ◆ wsregex_token_iterator

typedef regex_token_iterator<wstring::const_iterator> std::wsregex_token_iterator

Token iterator for standard wide-character strings.

Definition at line 3131 of file regex.h.

## ◆ wssub_match

typedef sub_match<wstring::const_iterator> std::wssub_match

Regex submatch over a standard wide string.

Definition at line 1110 of file regex.h.

## Function Documentation

## ◆ operator<<()

template<typename _Ch_type, typename _Ch_traits, typename _Bi_iter>

basic_ostream< _Ch_type, _Ch_traits > & operator<< | ( | basic_ostream< _Ch_type, _Ch_traits > & | __os,
|  | const sub_match< _Bi_iter > & | __m )
| related

Inserts a matched string into an output stream.

Parameters

  __os | The output stream.
  __m | A submatch string.

Returns
  the output stream with the submatch string inserted.

Definition at line 1650 of file regex.h.

## ◆ operator<=>() [1/4]

template<typename _Bi_iter, typename _Ch_traits, typename _Alloc>

auto operator<=> | ( | const sub_match< _Bi_iter > & | __lhs,
|  | const __sub_match_string< _Bi_iter, _Ch_traits, _Alloc > & | __rhs )
| related

Three-way comparison of a regular expression submatch and a string.

Parameters

  __lhs | A regular expression submatch.
  __rhs | A string.

Returns
  A value indicating whether __lhs is less than, equal to, greater than, or incomparable with __rhs.

Definition at line 1309 of file regex.h.

## ◆ operator<=>() [2/4]

template<typename _Bi_iter>

auto operator<=> | ( | const sub_match< _Bi_iter > & | __lhs,
|  | typename iterator_traits< _Bi_iter >::value_type const & | __rhs )
| related

Three-way comparison of a regular expression submatch and a character.

Parameters

  __lhs | A regular expression submatch.
  __rhs | A character.

Returns
  A value indicating whether __lhs is less than, equal to, greater than, or incomparable with __rhs.

Definition at line 1650 of file regex.h.

## ◆ operator<=>() [3/4]

template<typename _Bi_iter>

auto operator<=> | ( | const sub_match< _Bi_iter > & | __lhs,
|  | typename iterator_traits< _Bi_iter >::value_type const * | __rhs )
| related

Three-way comparison of a regular expression submatch and a C string.

Parameters

  __lhs | A regular expression submatch.
  __rhs | A null-terminated string.

Returns
  A value indicating whether __lhs is less than, equal to, greater than, or incomparable with __rhs.

Definition at line 1477 of file regex.h.

## ◆ operator<=>() [4/4]

template<typename _BiIter>

auto operator<=> | ( | const sub_match< _BiIter > & | __lhs,
|  | const sub_match< _BiIter > & | __rhs )
| related

Three-way comparison of two regular expression submatches.

Parameters

  __lhs | First regular expression submatch.
  __rhs | Second regular expression submatch.

Returns
  A value indicating whether __lhs is less than, equal to, greater than, or incomparable with __rhs.

Definition at line 1137 of file regex.h.

## ◆ operator==() [1/5]

template<typename _Bi_iter, typename _Alloc>

bool operator== | ( | const match_results< _Bi_iter, _Alloc > & | __m1,
|  | const match_results< _Bi_iter, _Alloc > & | __m2 )
| related

Compares two match_results for equality.

Returns
  true if the two objects refer to the same match, false otherwise.

Definition at line 2208 of file regex.h.

## ◆ operator==() [2/5]

template<typename _Bi_iter, typename _Ch_traits, typename _Ch_alloc>

bool operator== | ( | const sub_match< _Bi_iter > & | __lhs,
|  | const __sub_match_string< _Bi_iter, _Ch_traits, _Ch_alloc > & | __rhs )
| related

Tests the equivalence of a regular expression submatch and a string.

Parameters

  __lhs | A regular expression submatch.
  __rhs | A string.

Returns
  true if __lhs is equivalent to __rhs, false otherwise.

Definition at line 1296 of file regex.h.

## ◆ operator==() [3/5]

template<typename _Bi_iter>

bool operator== | ( | const sub_match< _Bi_iter > & | __lhs,
|  | typename iterator_traits< _Bi_iter >::value_type const & | __rhs )
| related

Tests the equivalence of a regular expression submatch and a character.

Parameters

  __lhs | A regular expression submatch.
  __rhs | A character.

Returns
  true if __lhs is equivalent to __rhs, false otherwise.

Definition at line 1635 of file regex.h.

## ◆ operator==() [4/5]

template<typename _Bi_iter>

bool operator== | ( | const sub_match< _Bi_iter > & | __lhs,
|  | typename iterator_traits< _Bi_iter >::value_type const * | __rhs )
| related

Tests the equivalence of a regular expression submatch and a C string.

Parameters

  __lhs | A regular expression submatch.
  __rhs | A null-terminated string.

Returns
  true if __lhs is equivalent to __rhs, false otherwise.

Definition at line 1463 of file regex.h.

## ◆ operator==() [5/5]

template<typename _BiIter>

bool operator== | ( | const sub_match< _BiIter > & | __lhs,
|  | const sub_match< _BiIter > & | __rhs )
| related

Tests the equivalence of two regular expression submatches.

Parameters

  __lhs | First regular expression submatch.
  __rhs | Second regular expression submatch.

Returns
  true if __lhs is equivalent to __rhs, false otherwise.

Definition at line 1125 of file regex.h.

## ◆ regex_match() [1/7]

template<typename _Bi_iter, typename _Ch_type, typename _Rx_traits>

bool std::regex_match | ( | _Bi_iter | __first,
|  | _Bi_iter | __last,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __re,
|  | regex_constants::match_flag_type | __flags = regex_constants::match_default )
| inline

Indicates if there is a match between the regular expression `e` and all of the character sequence [first, last).

Parameters

  __first | Beginning of the character sequence to match.
  __last | One-past-the-end of the character sequence to match.
  __re | The regular expression.
  __flags | Controls how the regular expression is matched.

Return values

  true | A match exists.
  false | Otherwise.

Exceptions

  an | exception of type regex_error.

Definition at line 2310 of file regex.h.

References std::regex_constants::match_default, and regex_match().

## ◆ regex_match() [2/7]

template<typename _Bi_iter, typename _Alloc, typename _Ch_type, typename _Rx_traits>

bool std::regex_match | ( | _Bi_iter | __s,
|  | _Bi_iter | __e,
|  | match_results< _Bi_iter, _Alloc > & | __m,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __re,
|  | regex_constants::match_flag_type | __flags = regex_constants::match_default )
| inline

Determines if there is a match between the regular expression `e` and all of the character sequence [first, last).

Parameters

  __s | Start of the character sequence to match.
  __e | One-past-the-end of the character sequence to match.
  __m | The match results.
  __re | The regular expression.
  __flags | Controls how the regular expression is matched.

Return values

  true | A match exists.
  false | Otherwise.

Exceptions

  an | exception of type regex_error.

Definition at line 2283 of file regex.h.

References std::regex_constants::match_default.

Referenced by regex_match(), regex_match(), regex_match(), regex_match(), and regex_match().

## ◆ regex_match() [3/7]

template<typename _Ch_type, class _Rx_traits>

bool std::regex_match | ( | const _Ch_type * | __s,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __re,
|  | regex_constants::match_flag_type | __f = regex_constants::match_default )
| inline

Indicates if there is a match between the regular expression `e` and a C-style null-terminated string.

Parameters

  __s | The C-style null-terminated string to match.
  __re | The regular expression.
  __f | Controls how the regular expression is matched.

Return values

  true | A match exists.
  false | Otherwise.

Exceptions

  an | exception of type regex_error.

Definition at line 2395 of file regex.h.

References std::regex_constants::match_default, and regex_match().

## ◆ regex_match() [4/7]

template<typename _Ch_type, typename _Alloc, typename _Rx_traits>

bool std::regex_match | ( | const _Ch_type * | __s,
|  | match_results< const _Ch_type *, _Alloc > & | __m,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __re,
|  | regex_constants::match_flag_type | __f = regex_constants::match_default )
| inline

Determines if there is a match between the regular expression `e` and a C-style null-terminated string.

Parameters

  __s | The C-style null-terminated string to match.
  __m | The match results.
  __re | The regular expression.
  __f | Controls how the regular expression is matched.

Return values

  true | A match exists.
  false | Otherwise.

Exceptions

  an | exception of type regex_error.

Definition at line 2335 of file regex.h.

References std::regex_constants::match_default, and regex_match().

## ◆ regex_match() [5/7]

template<typename _Ch_traits, typename _Ch_alloc, typename _Alloc, typename _Ch_type, typename _Rx_traits>

bool std::regex_match | ( | const basic_string< _Ch_type, _Ch_traits, _Ch_alloc > && | ,
|  | match_results< typename basic_string< _Ch_type, _Ch_traits, _Ch_alloc >::const_iterator, _Alloc > & | ,
|  | const basic_regex< _Ch_type, _Rx_traits > & | ,
|  | regex_constants::match_flag_type | = regex_constants::match_default )
| delete

Prevent unsafe attempts to get match_results from a temporary string.

References std::regex_constants::match_default.

## ◆ regex_match() [6/7]

template<typename _Ch_traits, typename _Ch_alloc, typename _Alloc, typename _Ch_type, typename _Rx_traits>

bool std::regex_match | ( | const basic_string< _Ch_type, _Ch_traits, _Ch_alloc > & | __s,
|  | match_results< typename basic_string< _Ch_type, _Ch_traits, _Ch_alloc >::const_iterator, _Alloc > & | __m,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __re,
|  | regex_constants::match_flag_type | __flags = regex_constants::match_default )
| inline

Determines if there is a match between the regular expression `e` and a string.

Parameters

  __s | The string to match.
  __m | The match results.
  __re | The regular expression.
  __flags | Controls how the regular expression is matched.

Return values

  true | A match exists.
  false | Otherwise.

Exceptions

  an | exception of type regex_error.

Definition at line 2359 of file regex.h.

References std::basic_string< _CharT, _Traits, _Alloc >::begin(), std::basic_string< _CharT, _Traits, _Alloc >::end(), std::regex_constants::match_default, and regex_match().

## ◆ regex_match() [7/7]

template<typename _Ch_traits, typename _Str_allocator, typename _Ch_type, typename _Rx_traits>

bool std::regex_match | ( | const basic_string< _Ch_type, _Ch_traits, _Str_allocator > & | __s,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __re,
|  | regex_constants::match_flag_type | __flags = regex_constants::match_default )
| inline

Indicates if there is a match between the regular expression `e` and a string.

Parameters

  __s | [IN] The string to match.
  __re | [IN] The regular expression.
  __flags | [IN] Controls how the regular expression is matched.

Return values

  true | A match exists.
  false | Otherwise.

Exceptions

  an | exception of type regex_error.

Definition at line 2417 of file regex.h.

References std::basic_string< _CharT, _Traits, _Alloc >::begin(), std::basic_string< _CharT, _Traits, _Alloc >::end(), std::regex_constants::match_default, and regex_match().

## ◆ regex_replace() [1/6]

template<typename _Out_iter, typename _Bi_iter, typename _Rx_traits, typename _Ch_type>

_Out_iter std::regex_replace | ( | _Out_iter | __out,
|  | _Bi_iter | __first,
|  | _Bi_iter | __last,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __e,
|  | const _Ch_type * | __fmt,
|  | regex_constants::match_flag_type | __flags = regex_constants::match_default )

Search for a regular expression within a range for multiple times, and replace the matched parts through filling a format C-string.

Parameters

  __out | [OUT] The output iterator.
  __first | [IN] The start of the string to search.
  __last | [IN] One-past-the-end of the string to search.
  __e | [IN] The regular expression to search for.
  __fmt | [IN] The format C-string.
  __flags | [IN] Search and replace policy flags.

Returns
  __out

Exceptions

  an | exception of type regex_error.

Definition at line 2624 of file regex.h.

References std::regex_constants::match_default.

## ◆ regex_replace() [2/6]

template<typename _Out_iter, typename _Bi_iter, typename _Rx_traits, typename _Ch_type, typename _St, typename _Sa>

_Out_iter std::regex_replace | ( | _Out_iter | __out,
|  | _Bi_iter | __first,
|  | _Bi_iter | __last,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __e,
|  | const basic_string< _Ch_type, _St, _Sa > & | __fmt,
|  | regex_constants::match_flag_type | __flags = regex_constants::match_default )
| inline

Search for a regular expression within a range for multiple times, and replace the matched parts through filling a format string.

Parameters

  __out | [OUT] The output iterator.
  __first | [IN] The start of the string to search.
  __last | [IN] One-past-the-end of the string to search.
  __e | [IN] The regular expression to search for.
  __fmt | [IN] The format string.
  __flags | [IN] Search and replace policy flags.

Returns
  __out

Exceptions

  an | exception of type regex_error.

Definition at line 2598 of file regex.h.

References std::basic_string< _CharT, _Traits, _Alloc >::c_str(), std::basic_string< _CharT, _Traits, _Alloc >::length(), and std::regex_constants::match_default.

Referenced by regex_replace(), regex_replace(), regex_replace(), and regex_replace().

## ◆ regex_replace() [3/6]

template<typename _Rx_traits, typename _Ch_type>

basic_string< _Ch_type > std::regex_replace | ( | const _Ch_type * | __s,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __e,
|  | const _Ch_type * | __fmt,
|  | regex_constants::match_flag_type | __flags = regex_constants::match_default )
| inline

Search for a regular expression within a C-string for multiple times, and replace the matched parts through filling a format C-string.

Parameters

  __s | [IN] The C-string to search and replace.
  __e | [IN] The regular expression to search for.
  __fmt | [IN] The format C-string.
  __flags | [IN] Search and replace policy flags.

Returns
  The string after replacing.

Exceptions

  an | exception of type regex_error.

Definition at line 2728 of file regex.h.

References back_inserter(), std::regex_constants::match_default, and regex_replace().

## ◆ regex_replace() [4/6]

template<typename _Rx_traits, typename _Ch_type, typename _St, typename _Sa>

basic_string< _Ch_type > std::regex_replace | ( | const _Ch_type * | __s,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __e,
|  | const basic_string< _Ch_type, _St, _Sa > & | __fmt,
|  | regex_constants::match_flag_type | __flags = regex_constants::match_default )
| inline

Search for a regular expression within a C-string for multiple times, and replace the matched parts through filling a format string.

Parameters

  __s | [IN] The C-string to search and replace.
  __e | [IN] The regular expression to search for.
  __fmt | [IN] The format string.
  __flags | [IN] Search and replace policy flags.

Returns
  The string after replacing.

Exceptions

  an | exception of type regex_error.

Definition at line 2702 of file regex.h.

References back_inserter(), std::regex_constants::match_default, and regex_replace().

## ◆ regex_replace() [5/6]

template<typename _Rx_traits, typename _Ch_type, typename _St, typename _Sa>

basic_string< _Ch_type, _St, _Sa > std::regex_replace | ( | const basic_string< _Ch_type, _St, _Sa > & | __s,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __e,
|  | const _Ch_type * | __fmt,
|  | regex_constants::match_flag_type | __flags = regex_constants::match_default )
| inline

Search for a regular expression within a string for multiple times, and replace the matched parts through filling a format C-string.

Parameters

  __s | [IN] The string to search and replace.
  __e | [IN] The regular expression to search for.
  __fmt | [IN] The format C-string.
  __flags | [IN] Search and replace policy flags.

Returns
  The string after replacing.

Exceptions

  an | exception of type regex_error.

Definition at line 2676 of file regex.h.

References back_inserter(), std::basic_string< _CharT, _Traits, _Alloc >::begin(), std::basic_string< _CharT, _Traits, _Alloc >::end(), std::regex_constants::match_default, and regex_replace().

## ◆ regex_replace() [6/6]

template<typename _Rx_traits, typename _Ch_type, typename _St, typename _Sa, typename _Fst, typename _Fsa>

basic_string< _Ch_type, _St, _Sa > std::regex_replace | ( | const basic_string< _Ch_type, _St, _Sa > & | __s,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __e,
|  | const basic_string< _Ch_type, _Fst, _Fsa > & | __fmt,
|  | regex_constants::match_flag_type | __flags = regex_constants::match_default )
| inline

Search for a regular expression within a string for multiple times, and replace the matched parts through filling a format string.

Parameters

  __s | [IN] The string to search and replace.
  __e | [IN] The regular expression to search for.
  __fmt | [IN] The format string.
  __flags | [IN] Search and replace policy flags.

Returns
  The string after replacing.

Exceptions

  an | exception of type regex_error.

Definition at line 2650 of file regex.h.

References back_inserter(), std::basic_string< _CharT, _Traits, _Alloc >::begin(), std::basic_string< _CharT, _Traits, _Alloc >::end(), std::regex_constants::match_default, and regex_replace().

## ◆ regex_search() [1/7]

template<typename _Bi_iter, typename _Ch_type, typename _Rx_traits>

bool std::regex_search | ( | _Bi_iter | __first,
|  | _Bi_iter | __last,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __re,
|  | regex_constants::match_flag_type | __flags = regex_constants::match_default )
| inline

Searches for a regular expression within a range.

Parameters

  __first | [IN] The start of the string to search.
  __last | [IN] One-past-the-end of the string to search.
  __re | [IN] The regular expression to search for.
  __flags | [IN] Search policy flags.

Return values

  true | A match was found within the string.
  false | No match was found within the string.

Exceptions

  an | exception of type regex_error.

Definition at line 2463 of file regex.h.

References std::regex_constants::match_default, and regex_search().

## ◆ regex_search() [2/7]

template<typename _Bi_iter, typename _Alloc, typename _Ch_type, typename _Rx_traits>

bool std::regex_search | ( | _Bi_iter | __s,
|  | _Bi_iter | __e,
|  | match_results< _Bi_iter, _Alloc > & | __m,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __re,
|  | regex_constants::match_flag_type | __flags = regex_constants::match_default )
| inline

Searches for a regular expression within a range.

Parameters

  __s | [IN] The start of the string to search.
  __e | [IN] One-past-the-end of the string to search.
  __m | [OUT] The match results.
  __re | [IN] The regular expression to search for.
  __flags | [IN] Search policy flags.

Return values

  true | A match was found within the string.
  false | No match was found within the string, the content of m is undefined.

Exceptions

  an | exception of type regex_error.

Definition at line 2440 of file regex.h.

References std::regex_constants::match_default.

Referenced by std::regex_iterator< const char * >::regex_iterator(), std::regex_iterator< _Bi_iter, _Ch_type, _Rx_traits >::operator++(), regex_search(), regex_search(), regex_search(), regex_search(), and regex_search().

## ◆ regex_search() [3/7]

template<typename _Ch_type, typename _Rx_traits>

bool std::regex_search | ( | const _Ch_type * | __s,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __e,
|  | regex_constants::match_flag_type | __f = regex_constants::match_default )
| inline

Searches for a regular expression within a C-string.

Parameters

  __s | [IN] The C-string to search.
  __e | [IN] The regular expression to search for.
  __f | [IN] Search policy flags.

Return values

  true | A match was found within the string.
  false | No match was found within the string.

Exceptions

  an | exception of type regex_error.

Definition at line 2505 of file regex.h.

References std::regex_constants::match_default, and regex_search().

## ◆ regex_search() [4/7]

template<typename _Ch_type, class _Alloc, class _Rx_traits>

bool std::regex_search | ( | const _Ch_type * | __s,
|  | match_results< const _Ch_type *, _Alloc > & | __m,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __e,
|  | regex_constants::match_flag_type | __f = regex_constants::match_default )
| inline

Searches for a regular expression within a C-string.

Parameters

  __s | [IN] A C-string to search for the regex.
  __m | [OUT] The set of regex matches.
  __e | [IN] The regex to search for in `s`.
  __f | [IN] The search flags.

Return values

  true | A match was found within the string.
  false | No match was found within the string, the content of m is undefined.

Exceptions

  an | exception of type regex_error.

Definition at line 2486 of file regex.h.

References std::regex_constants::match_default, and regex_search().

## ◆ regex_search() [5/7]

template<typename _Ch_traits, typename _Ch_alloc, typename _Alloc, typename _Ch_type, typename _Rx_traits>

bool std::regex_search | ( | const basic_string< _Ch_type, _Ch_traits, _Ch_alloc > && | ,
|  | match_results< typename basic_string< _Ch_type, _Ch_traits, _Ch_alloc >::const_iterator, _Alloc > & | ,
|  | const basic_regex< _Ch_type, _Rx_traits > & | ,
|  | regex_constants::match_flag_type | = regex_constants::match_default )
| delete

Prevent unsafe attempts to get match_results from a temporary string.

References std::regex_constants::match_default.

## ◆ regex_search() [6/7]

template<typename _Ch_traits, typename _Ch_alloc, typename _Alloc, typename _Ch_type, typename _Rx_traits>

bool std::regex_search | ( | const basic_string< _Ch_type, _Ch_traits, _Ch_alloc > & | __s,
|  | match_results< typename basic_string< _Ch_type, _Ch_traits, _Ch_alloc >::const_iterator, _Alloc > & | __m,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __e,
|  | regex_constants::match_flag_type | __f = regex_constants::match_default )
| inline

Searches for a regular expression within a string.

Parameters

  __s | [IN] A C++ string to search for the regex.
  __m | [OUT] The set of regex matches.
  __e | [IN] The regex to search for in `s`.
  __f | [IN] The search flags.

Return values

  true | A match was found within the string.
  false | No match was found within the string, the content of m is undefined.

Exceptions

  an | exception of type regex_error.

Definition at line 2547 of file regex.h.

References std::basic_string< _CharT, _Traits, _Alloc >::begin(), std::basic_string< _CharT, _Traits, _Alloc >::end(), std::regex_constants::match_default, and regex_search().

## ◆ regex_search() [7/7]

template<typename _Ch_traits, typename _String_allocator, typename _Ch_type, typename _Rx_traits>

bool std::regex_search | ( | const basic_string< _Ch_type, _Ch_traits, _String_allocator > & | __s,
|  | const basic_regex< _Ch_type, _Rx_traits > & | __e,
|  | regex_constants::match_flag_type | __flags = regex_constants::match_default )
| inline

Searches for a regular expression within a string.

Parameters

  __s | [IN] The string to search.
  __e | [IN] The regular expression to search for.
  __flags | [IN] Search policy flags.

Return values

  true | A match was found within the string.
  false | No match was found within the string.

Exceptions

  an | exception of type regex_error.

Definition at line 2524 of file regex.h.

References std::regex_constants::match_default, and regex_search().

## ◆ swap() [1/2]

template<typename _Ch_type, typename _Rx_traits>

void swap | ( | basic_regex< _Ch_type, _Rx_traits > & | __lhs,
|  | basic_regex< _Ch_type, _Rx_traits > & | __rhs )
| related

Swaps the contents of two regular expression objects.

Parameters

  __lhs | First regular expression.
  __rhs | Second regular expression.

Definition at line 918 of file regex.h.

## ◆ swap() [2/2]

template<typename _Bi_iter, typename _Alloc>

void swap | ( | match_results< _Bi_iter, _Alloc > & | __lhs,
|  | match_results< _Bi_iter, _Alloc > & | __rhs )
| related

Swaps two match results.

Parameters

  __lhs | A match result.
  __rhs | A match result.

The contents of the two match_results objects are swapped.

Definition at line 2252 of file regex.h.