#include <QRegExp>
#include <QDebug>
int main()
{
QRegExp rx("(.*)[^\\]\\[\\d+\\]$");
qDebug() << rx.indexIn("AA[45]");
qDebug() << rx.cap(1);
}
Мне нужно написать QRegExp для сопоставления имени перед символом '[', если ему не предшествует '\'. В этом случае он должен печатать «AA», но ничего не печатает. После добавления 2 косой черты в [^ \\] части она соответствует только «А» для "AA\\[45]"
, но для этого случая мне нужно, чтобы она ничего не соответствовала.Почему это регулярное выражение matchh?
#include <QRegExp>
#include <QDebug>
int main()
{
QRegExp rx("(.*)[^\\\\]\\[\\d+\\]$");
qDebug() << rx.indexIn("AA\[45]");
qDebug() << rx.cap(1);
}
Этот случай не должен совпадать ни с чем, кроме как печатать "A".
... и что это печатать? – Chowlett
Он ничего не печатает – Ashot