<regex>

Defines a template class to parse Regular Expressions (C++), and several template classes and functions to search text for matches to a regular expression object.

Syntax

#include <regex>

Remarks

To create a regular expression object, use the template class basic_regex Class or one of its specializations, regex and wregex, together with the syntax flags of type regex_constants::syntax_option_type.

To search text for matches to a regular expression object, use the template functions regex_match and regex_search, together with the match flags of type regex_constants::match_flag_type. These functions return results by using the template class match_results Class and its specializations, cmatch, wcmatch, smatch, and wsmatch, together with the template class sub_match Class and its specializations, csub_match, wcsub_match, ssub_match, and wssub_match.

To replace text that matches a regular expression object, use the template function regex_replace, together with the match flags of type regex_constants::match_flag_type.

To iterate through multiple matches of a regular expression object, use the template classes regex_iterator Class and regex_token_iterator Class or one of their specializations, cregex_iterator, sregex_iterator, wcregex_iterator, wsregex_iterator, cregex_token_iterator, sregex_token_iterator, wcregex_token_iterator, or wsregex_token_iterator, together with the match flags of type regex_constants::match_flag_type.

To modify the details of the grammar of regular expressions, write a class that implements the regular expression traits.

Classes

Class Description
basic_regex Wraps a regular expression.
match_results Holds a sequence of submatches.
regex_constants Holds assorted constants.
regex_error Reports a bad regular expression.
regex_iterator Iterates through match results.
regex_traits Describes characteristics of elements for matching.
regex_traits<char> Describes characteristics of char for matching.
regex_traits<wchar_t> Describes characteristics of wchar_t for matching.
regex_token_iterator Iterates through submatches.
sub_match Describes a submatch.

Type Definitions

cmatch Type definition for char match_results.
cregex_iterator Type definition for char regex_iterator.
cregex_token_iterator Type definition for char regex_token_iterator.
csub_match Type definition for char sub_match.
regex Type definition for char basic_regex.
smatch Type definition for string match_results.
sregex_iterator Type definition for string regex_iterator.
sregex_token_iterator Type definition for string regex_token_iterator.
ssub_match Type definition for string sub_match.
wcmatch Type definition for wchar_t match_results.
wcregex_iterator Type definition for wchar_t regex_iterator.
wcregex_token_iterator Type definition for wchar_t regex_token_iterator.
wcsub_match Type definition for wchar_t sub_match.
wregex Type definition for wchar_t basic_regex.
wsmatch Type definition for wstring match_results.
wsregex_iterator Type definition for wstring regex_iterator.
wsregex_token_iterator Type definition for wstring regex_token_iterator.
wssub_match Type definition for wstring sub_match.

Functions

Function Description
regex_match Exactly matches a regular expression.
regex_replace Replaces matched regular expressions.
regex_search Searches for a regular expression match.
swap Swaps basic_regex or match_results objects.

Operators

Operator Description
operator== Comparison of various objects, equal.
operator!= Comparison of various objects, not equal.
operator< Comparison of various objects, less than.
operator<= Comparison of various objects, less than or equal.
operator> Comparison of various objects, greater than.
operator>= Comparison of various objects, greater than or equal.
operator<< Inserts a sub_match in a stream.

See also

Regular Expressions (C++)
regex_constants Class
regex_error Class
<regex> functions
regex_iterator Class
<regex> operators
regex_token_iterator Class
regex_traits Class
<regex> typedefs