31 Regular expressions library [re]

31.8 Class template basic_­regex [re.regex]

31.8.2 basic_­regex constructors [re.regex.construct]

basic_regex();

Effects: Создает объект класса basic_­regex , который не соответствует ни одной последовательности символов.

explicit basic_regex(const charT* p, flag_type f = regex_constants::ECMAScript);

Requires: p не должен быть нулевым указателем.

Throws: regex_­error если p не является допустимым регулярным выражением.

Effects: Создает объект класса basic_­regex; внутренний конечный автомат объекта создается из регулярного выражения, содержащегося в массиве charT длины char_­traits<charT>​::​​length(p) , первый элемент которого обозначается pи интерпретируется в соответствии с флагами f.

Postconditions: flags() возвращается f. mark_­count() возвращает количество отмеченных подвыражений в выражении.

basic_regex(const charT* p, size_t len, flag_type f);

Requires: p не должен быть нулевым указателем.

Throws: regex_­error если p не является допустимым регулярным выражением.

Effects: Создает объект класса basic_­regex; внутренний конечный автомат объекта создается из регулярного выражения, содержащегося в последовательности символов [p, p+len), и интерпретируется в соответствии с флагами, указанными в f.

Postconditions: flags() возвращается f. mark_­count() возвращает количество отмеченных подвыражений в выражении.

basic_regex(const basic_regex& e);

Effects: Создает объект класса basic_­regex как копию объекта e.

Postconditions: flags() и mark_­count() возврат e.flags() и e.mark_­count(), соответственно.

basic_regex(basic_regex&& e) noexcept;

Effects: Move создает объект класса basic_­regex из e.

Postconditions: flags() и mark_­count() вернуть значения, которые e.flags() и e.mark_­count(), соответственно, имели до построения. e находится в допустимом состоянии с неуказанным значением.

template <class ST, class SA> explicit basic_regex(const basic_string<charT, ST, SA>& s, flag_type f = regex_constants::ECMAScript);

Throws: regex_­error если s не является допустимым регулярным выражением.

Effects: Создает объект класса basic_­regex; внутренний конечный автомат объекта создается из регулярного выражения, содержащегося в строке s, и интерпретируется в соответствии с флагами, указанными в f.

Postconditions: flags() возвращается f. mark_­count() возвращает количество отмеченных подвыражений в выражении.

template <class ForwardIterator> basic_regex(ForwardIterator first, ForwardIterator last, flag_type f = regex_constants::ECMAScript);

Throws: regex_­error если последовательность [first, last) не является допустимым регулярным выражением.

Effects: Создает объект класса basic_­regex; внутренний конечный автомат объекта создается из регулярного выражения, содержащегося в последовательности символов [first, last), и интерпретируется в соответствии с флагами, указанными в f.

Postconditions: flags() возвращается f. mark_­count() возвращает количество отмеченных подвыражений в выражении.

basic_regex(initializer_list<charT> il, flag_type f = regex_constants::ECMAScript);

Effects: То же, что и basic_­regex(il.begin(), il.end(), f).