因此,我的应用程序中有一个包含html img标记的字符串
<img src="imagsource.jpg" width="imageWidth" />
现在,我希望在两个不同的字符串中提取图像标记及其src
属性。所以我试着这样做:
QRegExp imageRegex("\\<img[^\\>]*src\\s*=\\s*\"([^\"]*)\"[^\\>]*\\>", Qt::CaseInsensitive);
int a = imageRegex.indexIn(description);
int b = a + imageRegex.matchedLength();
QString imgTag = description.mid(a,b); // this kind of works but doesn't return the img tag properly (extra information is included)
// how to obtain the "src" attribute, I have tried this: src\s*=\s*\"(.+?)" but it doesn't work
QString imgSrc = ??
我试着看了其他关于如何使用正则表达式从其他字符串中提取字符串的帖子,我也试着在QRegExp
中使用相同的模式,但它们似乎没有给出正确的结果。
发布于 2018-07-10 04:21:17
您可以使用以下命令:
<img.*src=(?:"(.*?)"|'(.*?)').*>
https://regex101.com/r/qaQPPU/3
它将捕获整个匹配中的整个标记,然后捕获第一组中的src标记的内容。
https://stackoverflow.com/questions/51252529
复制相似问题