我正在嘗試使用Qt在我的C++應用程序中執行正則表達式。 我之前在C++中用Qt做過類似的正則表達式,但是這個很難。C++中的QRegExp捕獲部分字符串
給出一個帶有可選_#的字符串,在字符串末尾我想提取字符串的部分。
例子:
"blue_dog" should result "blue_dog"
"blue_dog_1" should result "blue_dog"
"blue_dog_23" should result "blue_dog"
這是我到目前爲止的代碼,但它並沒有工作:
QString name = "blue_dog_23";
QRegExp rx("(.*?)(_\\d+)?");
rx.indexIn(name);
QString result = rx.cap(1);
我甚至嘗試了許多變化以下附加選項沒有運氣。我上面的代碼總是以「」結尾:
rx.setMinimal(TRUE);
rx.setPatternSyntax(QRegExp::RegExp2);
很好用!謝謝蒂姆。 – panofish