Showing content from https://cplusplus.com/reference/regex/ below:
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)
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4