[re.general] # 28 Text processing library [[text]](./#text) ## 28.6 Regular expressions library [[re]](re#general) ### 28.6.1 General [re.general] [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L8998) Subclause [[re]](re "28.6 Regular expressions library") describes components that C++ programs may use to perform operations involving regular expression matching and searching[.](#1.sentence-1) [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L9003) The following subclauses describe a basic regular expression class template and its traits that can handle char-like ([[strings.general]](strings.general "27.1 General")) template arguments, two specializations of this class template that handle sequences of char and wchar_t, a class template that holds the result of a regular expression match, a series of algorithms that allow a character sequence to be operated upon by a regular expression, and two iterator types for enumerating regular expression matches, as summarized in Table [117](#tab:re.summary "Table 117: Regular expressions library summary")[.](#2.sentence-1) Table [117](#tab:re.summary) — Regular expressions library summary [[tab:re.summary]](./tab:re.summary) | [🔗](#tab:re.summary-row-1) | **Subclause** | **Header** | | --- | --- | --- | | [🔗](#tab:re.summary-row-2)
[[re.req]](re.req "28.6.2 Requirements") | Requirements | | | [🔗](#tab:re.summary-row-3)
[[re.const]](re.const "28.6.4 Namespace std​::​regex_­constants") | Constants | | | [🔗](#tab:re.summary-row-4)
[[re.badexp]](re.badexp "28.6.5 Class regex_­error") | Exception type | | | [🔗](#tab:re.summary-row-5)
[[re.traits]](re.traits "28.6.6 Class template regex_­traits") | Traits | | | [🔗](#tab:re.summary-row-6)
[[re.regex]](re.regex "28.6.7 Class template basic_­regex") | Regular expression template | | | [🔗](#tab:re.summary-row-7)
[[re.submatch]](re.submatch "28.6.8 Class template sub_­match") | Submatches | | | [🔗](#tab:re.summary-row-8)
[[re.results]](re.results "28.6.9 Class template match_­results") | Match results | | | [🔗](#tab:re.summary-row-9)
[[re.alg]](re.alg "28.6.10 Regular expression algorithms") | Algorithms | | | [🔗](#tab:re.summary-row-10)
[[re.iter]](re.iter "28.6.11 Regular expression iterators") | Iterators | | | [🔗](#tab:re.summary-row-11)
[[re.grammar]](re.grammar "28.6.12 Modified ECMAScript regular expression grammar") | Grammar | | [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L9026) The ECMAScript Language Specification described in Standard Ecma-262 is called [*ECMA-262*](#def:ECMA-262 "28.6.1 General [re.general]") in this Clause[.](#3.sentence-1)