我希望从字符串的开头(字符串:$ efg#)
开始以'$'开头并以'#'结尾的最小字符串我尝试了QRegExp :: setMinimal,但它从第一个聊天记录中看起来很有帮助:
QRegExp rx("\\$\.*#");
rx.setMinimal(true);
int i = rx.indexIn("$abcd$efg#");
QString s = rx.cap(0);
bool isMinimal= rx.isMinimal();
结果是: I = 0 S = $ ABCD $#EFG isMinimal = true
虽然我想要的是: I = 5 S = $ EFG#
答案 0 :(得分:1)
您可能希望将正则表达式重新定义为:
QRegExp rx("\\$[^\\$#]*#");
这将匹配最小$ *#,因为它不允许$或#在
之间