Portál AbcLinuxu, 8. prosince 2025 16:05
"protocol://nejaka/cesta/soubor.ext" vcetne uvozovek, kde protocol je bud http nebo ftp. Zkouzel jsem QRegExp:
QRegExp regexp("\"(ftp|http)://(.*)\"");
QString mystring("This is \"http://moje/http.png\" and this is \"ftp://moje/ftp.png\"");
int pos = regexp.indexIn(mystring);
qDebug() << pos;
qDebug() << regexp.cap(0);
qDebug() << regexp.cap(1);
qDebug() << regexp.cap(2);
Ale vysledek je spatny:
8 "\"http://moje/http.png\" and this is \"ftp://moje/ftp.png\"" "http" "moje/http.png\" and this is \"ftp://moje/ftp.png"cap(1) by mel byt ten protokol a cap(2) napr to
moje/http.png
Řešení dotazu:
regexp.setMinimal(true); a uz to funguje.
"\"(ftp|http)://(.*?)\""), prípadne sa dá na miesto toho (.*) použiť niečo ako ([^\"]*).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.