#include <QRegExp>
#include <QDebug>
int main()
{
QRegExp rx("(.*)[^\\]\\[\\d+\\]$");
qDebug() << rx.indexIn("AA[45]");
qDebug() << rx.cap(1);
}
如果前面没有'\',我需要编写QRegExp 来匹配'[' 符号之前的名称。在这种情况下,它应该打印“AA”,但它什么也不打印。在 [^\\] 部分添加 2 个斜杠后,它仅匹配 'A',"AA\\[45]"
但对于这种情况,我需要它不匹配任何内容。
#include <QRegExp>
#include <QDebug>
int main()
{
QRegExp rx("(.*)[^\\\\]\\[\\d+\\]$");
qDebug() << rx.indexIn("AA\[45]");
qDebug() << rx.cap(1);
}
这种情况不应该匹配任何东西,但它会打印“A”。