问题描述:

QRegExp rx("\\btest\\b");

rx.indexIn("this is a test string");

QString captured = rx.cap(1);

std::string capturedstr = captured.toUtf8().constData();

std::cout << capturedstr;

I wanted the above to print out test and match the word test within the string but it doesn't seem to be doing that. Could anyone shed some light here? Using QT.

网友答案:

You don't have any capturing parens in your regex so there is no capture group 1. Try this instead:

QRegExp rx("\\b(test)\\b");
网友答案:

Replace rx.cap(1) with rx.cap(0) The entire match has index 0.

相关阅读:
Top