Ich benutze pcrecpp, um Übereinstimmung und Ausdruck in meinem C++ - Programm. Der entsprechende Code ist:Pcrecpp mehrere Zeilen
pcrecpp::RE("GET (\n*|.*)* HTTP").PartialMatch(packet, &getUrl);
cout << "GET " << getUrl << endl;
Und der Text i entsprechen möge, ist so etwas wie:
GET /subscribe?host_int=52830395&ns_map=39290872_6081712982008&ts=133411801
3 HTTP ...
ich nicht den ganzen Ausdruck zwischen GET
und HTTP
bieten kann, weil es eine neue Zeile (\ n) ist . Irgendeine Idee?
Es scheint, Sie versuchen, die URL einer HTTP-Anforderung "GET" zu erhalten. Es sollte jedoch keine neue Zeile in der Anforderungszeile geben, wenn Sie der HTTP-Spezifikation folgen, was zu der Annahme führt, dass Sie eine ungültige HTTP-Anfrage haben. –
Nun, ich bekomme eine Menge HTTP-Anfrage von einem Tool namens [ngrep] (http://ngrep.sourceforge.net/). Ich habe gelesen, dass die Ausgabe geändert werden könnte, um breiter zu sein. Ich werde später auschecken. –