728x90
728x170
*[header][other] regex (C++11)
<regex>
Regular Expressions
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 )
728x90
그리드형(광고전용)
'Programming > C++' 카테고리의 다른 글
[header][other] tuple (C++11) (0) | 2017.11.08 |
---|---|
[header][other] system_error (C++11) (0) | 2017.11.08 |
[header][other] string (0) | 2017.11.08 |
[header][other] stdexcept (0) | 2017.11.08 |
[header][other] ratio (C++11) (0) | 2017.11.08 |
[header][other] random (C++11) (0) | 2017.11.08 |
[header][other] numeric (0) | 2017.11.08 |
[header][other] new (0) | 2017.11.08 |