0

我想要以'$'开头并以'#'结尾的最小字符串,从字符串的开头(字符串:$efg#)

我尝试了 QRegExp::setMinimal ,但它很有帮助,因为它看起来来自第一个 chatrecter:

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#

4

1 回答 1

1

您可能希望将您的正则表达式重新定义为:

QRegExp rx("\\$[^\\$#]*#");

这将匹配最小值 $*#,因为它不允许 $ 或 # 介于两者之间

于 2013-10-17T08:07:44.677 回答