QRegex не идентифицирует & quot; \ n & quot;

Моя программа получает конфигурацию из командной строки. командная строка такая:
«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» .. Я не знаю, как справиться с этим. Помогите, пожалуйста?

1

Решение

config содержит два символа перевода строки (ASCII 0x0A, написанный на литералах C ++ как \n), но вы пытаетесь сопоставить их с регулярным выражением \n (два символа, ASCII 0x5C 0x6E, написанный на литералах C ++ как \\n). Это не может работать — измените регулярное выражение на просто \n также.

Имейте в виду, что поворот \n в символ новой строки — работа синтаксического анализатора C ++; регулярные выражения не делают этого.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]