Pensé que $ indica el final de la cadena. Sin embargo, el siguiente fragmento de código da como resultado "testbbbccc", lo cual es bastante sorprendente para mí ... Esto significa que $ realmente coincide con el final de la línea, no con el final de toda la cadena.C++ TR1 regex - opción multilínea
#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;
}
}
que han estado tratando de encontrar un interruptor "multilínea" (que en realidad se pueden encontrar fácilmente en PCRE), pero sin éxito ... ¿Puede alguien que me señale la dirección correcta?
Saludos, RP
cuales ejecución de TR1 está usando? –
Estoy usando Visual Studio 2008. –
como dije a continuación - pruebe \ z en lugar de $ –