我的程序从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”..我不知道如何处理它。请帮忙吗?
答案 0 :(得分:0)
config
包含两个换行符(ASCII 0x0A
,用C ++文字编写为\n
),但您尝试将它们与正则表达式{{1}匹配(两个字符,ASCII \n
,用C ++文字编写为0x5C 0x6E
)。这不起作用 - 将正则表达式也改为\\n
。
请记住,将\n
转换为换行符是C ++解析器的工作;正则表达式不这样做。