Regular Expressions C++ Qt
QRegExp rx("\\btest\\b");
rx.indexIn("this is a test string");
QString captured = rx.cap(1);
std::string capturedstr = captured.toUtf8().constData();
std::cout <<开发者_StackOverflow社区; 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.
精彩评论