1

我的程序从命令行获取配置。命令行是这样的: "mapPath=Some_Path_Over_Here\npluginsPath=Other_Path_Over_Here\n" 请注意中间和末尾的 "\n"。

我的问题是:

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

config包含两个换行符(ASCII 0x0A,用 C++ 文字写成\n),但您正试图将它们与正则表达式匹配\n(两个字符 ASCII 0x5C 0x6E,用 C++ 文字写成\\n)。这是行不通的 - 将正则表达式更改为\n一样好。

请记住,转换\n为换行符是 C++ 解析器的工作;正则表达式不这样做。

于 2013-10-28T10:10:33.797 回答