用于验证URL格式的标准C ++方法?

时间:2010-06-06 23:11:57

标签: c++

是否有符合标准的简单方法来检查URL字符串是否为有效格式?要么通过特定的URL类型,要么可能有人可以告诉我如何对它进行正则表达式验证?

4 个答案:

答案 0 :(得分:5)

正如其他人所回答的那样,C ++标准库和STL中都没有URL解析或验证代码。也没有正则表达式解析。

寻找已解决问题的第一个地方是BoostBoost.Regex应该让你在路上。 this answer有一个很棒的网址正则表达式。

答案 1 :(得分:4)

  

是否有一种符合标准的简单方法来检查URL字符串是否为有效格式?

标准库中没有任何内容。

答案 2 :(得分:3)

不,没有一个。

在Windows上,您可以查看IsValidURL()功能

答案 3 :(得分:2)

您可以使用Poco库: https://pocoproject.org/docs/Poco.URI.html

以下是我将其用作URL验证器:

bool validateUrl(std::string u){
    try {
        Poco::URI uri(u);
    }
    catch (Poco::SyntaxException &e){
        return false;
    }
    return true;
}