# std::basic_regex::basic_regex

From cppreference.com
< cpp‎ | regex‎ | basic regex

basic_regex(); | (1) | (since C++11)
explicit basic_regex( const CharT* s, flag_type f = std::regex_constants::ECMAScript ); | (2) | (since C++11)
basic_regex( const CharT* s, std::size_t count, flag_type f = std::regex_constants::ECMAScript ); | (3) | (since C++11)
basic_regex( const basic_regex& other ); | (4) | (since C++11)
basic_regex( basic_regex&& other ); | (5) | (since C++11)
template< class ST, class SA > explicit basic_regex( const std::basic_string<CharT,ST,SA>& str, flag_type f = std::regex_constants::ECMAScript ); | (6) | (since C++11)
template< class ForwardIt > basic_regex( ForwardIt first, ForwardIt last, flag_type f = std::regex_constants::ECMAScript ); | (7) | (since C++11)
basic_regex( std::initializer_list<CharT> init, flag_type f = std::regex_constants::ECMAScript ); | (8) | (since C++11)

Constructs a new regular expression from a sequence of characters interpreted according to the flags `f`.

1) Default constructor. Constructs an empty regular expression which will match nothing.
2) Constructs a regex from a null-terminated string `s`.
3) Constructs a regex from a sequence of `count` characters, pointed to by `s`.
4) Copy constructor. Constructs a regex by copying `other`
5) Move constructor. Constructs a regex by with the contents of `other` using move semantics.
6) Constructs a regex from a string `str`.
7) Range constructor. Constructs the string with the contents of the range `[first, last)`.
8) Initializer list constructor. Constructs the string with the contents of the initializer list `init`.

### Parameters

s | - | pointer to a null-terminated string
count | - | length of a character sequence used to initialize the regex
first, last | - | range of a character sequence used to initialize the regex
str | - | a basic_string used as a source used to initialize the regex
other | - | another regex to use as source to initialize the regex
init | - | initializer list used to initialize the regex
f | - | flags used to guide the interpretation of the character sequence as a regular expression
Type requirements
- `ForwardIt` must meet the requirements of `ForwardIterator`.

### Exceptions

1) (none)
2-3) std::regex_error if the supplied regular expression is not valid.
4) (none)
5)
`noexcept` specification:
noexcept
5-8) std::regex_error if the supplied regular expression is not valid.
Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/regex/basic_regex/basic_regex&oldid=91479"
Category:

- unconditionally noexcept

Hidden categories:

- Pages with unreviewed unconditional noexcept template
- Pages with unreviewed noexcept template