QRegexp无法识别“\ n”

时间:2013-10-28 09:46:46

标签: c++ qregexp

我的程序从comandline获得配置。 comandline是这样的: “在MapPath = Some_Path_Over_Here \ npluginsPath = Other_Path_Over_Here \ n” 个 请注意中间和结尾的“\ n”。

我的cose是:

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”..我不知道如何处理它。请帮忙吗?

1 个答案:

答案 0 :(得分:0)

config包含两个换行符(ASCII 0x0A,用C ++文字编写为\n),但您尝试将它们与正则表达式{{1}匹配(两个字符,ASCII \n,用C ++文字编写为0x5C 0x6E)。这不起作用 - 将正则表达式也改为\\n

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