Я думал, что $ указывает конец строки. Однако следующий фрагмент кода дает «testbbbccc» в результате, что для меня очень удивительно ... Это означает, что $ на самом деле соответствует концу строки, а не концу всей строки.C++ TR1 regex - многострочный вариант
#include <iostream>
#include <regex>
using namespace std;
int main()
{
tr1::regex r("aaa([^]*?)(ogr|$)");
string test("bbbaaatestbbbccc\nddd");
vector<int> captures;
captures.push_back(1);
const std::tr1::sregex_token_iterator end;
for (std::tr1::sregex_token_iterator iter(test.begin(), test.end(), r, captures); iter != end;)
{
string& t1 = iter->str();
iter++;
cout << t1;
}
}
Я пытался найти «многострочный» переключатель (который на самом деле можно легко найти в PCRE), но без успеха ... Может кто-то мне точку в правильном направлении?
С уважением, RP
, реализация которых в TR1 вы используете? – 2010-12-10 13:48:12