2015-02-20 4 views
1

Я искал способ переключения между многострочным/однострочным регулярным выражением, так что $ означает конец ввода/конец строки. Я просмотрел различные руководства, и они указывают на некоторые ОПЦИИ для этого. Однако я не могу найти такие опции для std :: basic_regex в http://www.cplusplus.com/reference/regex/basic_regex/basic_regex/. Я столкнулся с рекомендацией использовать (-ы) (или что-то вроде) в начале регулярного выражения, но это вызывает исключение.Параметры регулярного выражения для std :: regex

Есть ли список дополнительных параметров, которые могут быть переданы в std :: regex в дополнение к флагам, которые могут быть переданы в конструктор basic_regex?

+0

Multiline флаг [открытый вопрос] (http://cplusplus.github.io/LWG /lwg-active.html#2343). [Есть флаги] (http://en.cppreference.com/w/cpp/regex/match_flag_type), вы можете перейти к 'regex_match' и др., Но они мало помогают. –

ответ

0

Ваш флаг (?s) еще не поддерживается C++.

Но вы все равно можете выполнять многострочное регулярное выражение.

Чтобы соответствовать все на одной линии использования: .*

Чтобы соответствовать все на несколько линий используют: (?:.|\n)*

Смежные вопросы