1

C++ プログラムで pcrecpp を使用して一致と式を表現しています。関連するコードは次のとおりです。

pcrecpp::RE("GET (\n*|.*)* HTTP").PartialMatch(packet, &getUrl);

cout << "GET " << getUrl << endl;

そして、一致させたいテキストは次のようなものです:

GET /subscribe?host_int=52830395&ns_map=39290872_6081712982008&ts=133411801
3 HTTP ...

改行 (\n) があるため、 GETandの間の式全体を一致させることはできません。HTTP何か案が?

4

1 に答える 1

0

ドキュメントを参照してください: http://linux.die.net/man/3/pcrecpp

最も注目すべきは、「修飾子を正規表現エンジンに渡す」というタイトルのセクションです。

おそらく、PCRE_MULTILINE および PCRE_DOTALL オプションの使用に関心があるでしょう。DOTALL オプションを使用すると、実行している OR を実行する必要がなくなります。「。」改行文字にも一致します。

于 2012-04-11T04:56:27.970 に答える