Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 按条件从中获取结果列表_C++_Qt_Qt5_Qregexp - Fatal编程技术网

C++ 按条件从中获取结果列表

C++ 按条件从中获取结果列表,c++,qt,qt5,qregexp,C++,Qt,Qt5,Qregexp,我希望通过reg表达式的此条件获取重结果列表: QRegExp rx( "(https://)" "(.*)" "(\\.jpg)" ); QStringList list; int pos = 0; while ((pos = rx.indexIn("jpegData_https://sfasdfsf_sadlfk

我希望通过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;
}
我需要得到:

  • https://sfasdfsf_sadlfkjnsdlfjhn.jpg
  • https://adfklja32908jf0jmn01.jpg

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

    默认情况下,匹配是贪婪的。您想要的行为应该只是调用您的QRegExp

    e、 g


    为什么在
    rx
    中使用
    []
    ?@jarod42,sry,这是一个打字错误,已修复。它解释了为什么您的匹配从
    peg
    开始,因为
    p
    [htps]
    中。然后帕迪回答问题的另一部分。非常感谢!这是工作!
    "pegData_https://sfasdfsf_sadlfkjnsdlfjhn.jpgasodjfhasdfoho;usdoauhfsvc.asdfkpjhttps://adfklja32908jf0jmn01.jpg"
    
    QRegExp rx("(https://)(.*)(\\.jpg)");
    rx.setMinimal(true);