qt 字符中提取出完整的url
时间: 2023-08-08 07:01:59 浏览: 42
用Qt提取完整的URL非常简单。你可以使用QRegularExpression类来匹配URL模式,并使用capturedTexts()方法来获取匹配到的完整URL字符串。
以下是一个使用Qt提取完整URL的示例代码:
```cpp
#include <QCoreApplication>
#include <QRegularExpression>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString text = "这是一个包含URL的字符串http://www.example.com。";
QRegularExpression urlPattern("(http|https|ftp|file)://(\\w+\\.)*(\\w+)(/\\S*)?");
QRegularExpressionMatchIterator matchIterator = urlPattern.globalMatch(text);
while (matchIterator.hasNext()) {
QRegularExpressionMatch match = matchIterator.next();
qDebug() << match.capturedTexts().at(0);
}
return a.exec();
}
```
在上面的代码中,我们首先定义了一个包含URL的文本字符串。然后,我们使用QRegularExpression类创建了一个URL匹配模式。这个模式可以匹配以"http", "https", "ftp"或"file"开头的URL。接下来,我们使用globalMatch()方法来获取匹配模式的迭代器。利用这个迭代器,我们可以逐个获取匹配到的URL。最后,我们使用capturedTexts()方法获取完整的URL字符串,使用qDebug()输出结果。
运行这段代码,你会得到输出结果为"http://www.example.com",它是从文本字符串中提取出的完整URL。
希望这个答案能帮到你!