按条件获取结果列表

Get a list of results from by conditions

我想通过这个 reg 表达式条件得到一个结果列表:

QRegExp rx(
            "(https://)"
            "(.*)"
            "(\.jpg)"
          );
    
QStringList list;
int pos = 0;
    
while ((pos = rx.indexIn("jpegData_https://sfasdfsf_sadlfkjnsdlfjhn.jpgasodjfhasdfoho;usdoauhfsvc.asdfkpjhttps://adfklja32908jf0jmn01.jpg", pos)) != -1)
{
  list << rx.cap(0);
  pos += rx.matchedLength();
}
    
for(auto it : list)
{
  qDebug() << it;
}

我知道了:

"pegData_https://sfasdfsf_sadlfkjnsdlfjhn.jpgasodjfhasdfoho;usdoauhfsvc.asdfkpjhttps://adfklja32908jf0jmn01.jpg"

我需要得到:

  1. https://sfasdfsf_sadlfkjnsdlfjhn.jpg
  2. https://adfklja32908jf0jmn01.jpg

请帮帮我,QRegExp 条件有什么问题?

默认情况下,匹配是贪心的。您想要的行为应该只是在 QRegExp 上调用 setMinimal(true) 的情况。

例如

QRegExp rx("(https://)(.*)(\.jpg)");
rx.setMinimal(true);