[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)<br>[[re.req]](re.req "28.6.2 Requirements") | Requirements |  |
| [ð](#tab:re.summary-row-3)<br>[[re.const]](re.const "28.6.4 Namespace std​::​regex_­constants") | Constants | <regex> |
| [ð](#tab:re.summary-row-4)<br>[[re.badexp]](re.badexp "28.6.5 Class regex_­error") | Exception type |  |
| [ð](#tab:re.summary-row-5)<br>[[re.traits]](re.traits "28.6.6 Class template regex_­traits") | Traits |  |
| [ð](#tab:re.summary-row-6)<br>[[re.regex]](re.regex "28.6.7 Class template basic_­regex") | Regular expression template |  |
| [ð](#tab:re.summary-row-7)<br>[[re.submatch]](re.submatch "28.6.8 Class template sub_­match") | Submatches |  |
| [ð](#tab:re.summary-row-8)<br>[[re.results]](re.results "28.6.9 Class template match_­results") | Match results |  |
| [ð](#tab:re.summary-row-9)<br>[[re.alg]](re.alg "28.6.10 Regular expression algorithms") | Algorithms |  |
| [ð](#tab:re.summary-row-10)<br>[[re.iter]](re.iter "28.6.11 Regular expression iterators") | Iterators |  |
| [ð](#tab:re.summary-row-11)<br>[[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)
