Хорошо, так что следующая строка является то, что мое регулярное выражение будет пытаться соответствовать против:Qt Regex Помощь (массив ключей)
[key1][key2][key3]
и вот мое регулярное выражение.
\[(.+?)\]
Это все делается в Qt, а вот код, я использую
QRegExp reg("\\[(.+?)\\]");
reg.indexIn(string);
qDebug() << "Matches: " << reg.capturedTexts();
Вышеизложенные возвращает это:
("", "")
Так два вопроса, то:
- Почему пустые записи
- В моем регулярном выражении, почему мне нужно положить \\ для его работы? Если я просто положил \, он ничего не захватит.
Спасибо!
Не могли бы вы попробовать '\\ [([^ \\]] +) \\]' вместо этого? – dasblinkenlight
Хорошо, я получил key1, но теперь, как мне получить 2 других? reg.captureCount() возвращает 1. – DerishOrie
есть ли способ включить глобальный модификатор? –