Reference

header

<regex>

Regular Expressions
Regular expressions are a standardized way to express patterns to be matched against sequences of characters.

The standard C++ library provides support for regular expressions in the <regex> header through a series of operations. All these operations make use of some typical regex parameters:
  • Target sequence (subject): The sequence of characters searched for the pattern. Generally, this is a range specified by two iterators, but some functions also accept a c-string or a string object instead.
  • Regular expression (pattern): The pattern which is searched for in the target sequence. This must be an object of a basic_regex type (such as regex), generally constructed from a string with a special syntax that describes what constitutes a match (see ECMAScript syntax).
  • Matches array: Some operations allow to retrieve information about matches. This information is stored in one of the special match_results array types (such as cmatch or smatch).
  • Replacement string: Some operations can replace matches. These replacements are specified in strings that allow for a special format (see ECMAScript syntax).

Regex operations

Regex operations are performed using either functions or special iterator adaptors:

Functions:

regex_match
Match sequence (function template)
regex_search
Search sequence (function template)
regex_replace
Replace matched sequence (function template)

Iterator types:

regex_iterator
Regex iterator (class template)
regex_token_iterator
Regex token iterator (class template)

Classes

The regex functions and iterators make heavy use of a set of supporting types as arguments and return values:

Basic types:

basic_regex
Regular expression (class template)
match_results
Match results (class template)
sub_match
Sub-expression match (class template)
regex_traits
Regex traits (class template)
regex_error
Regex exception (class)

Some of these types are templates, and have aliases for their most common instantiations:

basic_regex instantiations:

regex
Regex (class)
wregex
Regex for wchar_t (class)

match_results instantiations:

cmatch
match_results for string literals (class)
wcmatch
match_results for wide string literals (class)
smatch
match_results for string objects (class)
wsmatch
match_results for wide string objects (class)

sub_match instantiations:

csub_match
sub_match for string literals (class)
wcsub_match
sub_match for wide string literals (class)
ssub_match
sub_match for strings (class)
wssub_match
sub_match for wide strings (class)

Namespaces

This header also defines a namespace, regex_constants, under which all constant values to be used by the library are located:
regex_constants
regex constants (namespace)

Grammar

Regular expressions follow very strict grammars. By default, the functions in this library use the ECMAScript grammar:
ECMAScript syntax
ECMAScript regular expressions pattern syntax (syntax specifications)

Other functions

begin
Iterator to beginning (function template)
end
Iterator to end (function template)

AltStyle によって変換されたページ (->オリジナル) /