1

私のプログラムは、コマンドラインから構成を取得します。コマンドラインは次のようになります。

私のコースは:

QString config("mapPath=Some_Path_Over_Here\npluginsPath=Other_Path_Over_Here\n")
QRegExp reg("mapPath=(.*)\\npluginsDir=(.*)\\n");

しかし、私が書くとき

reg.indexIn(config)

結果は -1 です。

私のプログラムは Linux と Windows の両方に対応していると言うことが重要です。問題の原因は「\n」だと思います..処理方法がわかりません。助けてください?

4

1 に答える 1

0

config2 つの改行文字 (ASCII 0x0A、C++ リテラルでは として記述) が含まれていますが、それらを正規表現(2 文字、ASCII 、C++ リテラルでは として記述\n) と照合しようとしています。これはうまくいきません - 正規表現を同様に変更してください。\n0x5C 0x6E\\n\n

\n改行文字に変換するのは C++ パーサーの仕事であることに注意してください。正規表現はそれをしません。

于 2013-10-28T10:10:33.797 に答える