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 に答える