【发布时间】:2011-08-17 18:41:23
【问题描述】:
如标题所述,有没有快速的方法来做到这一点?我不需要一个可靠的解决方案,任何可以区分的东西,例如:
http://asdasd/
不是一个有效的域名,其中
http://asd.asdasd.asd
是一个有效的域名。
我试图搜索解决方案,最接近(简单)的解决方案是:in python
但这就是python,我需要用c++来做。有什么帮助吗?
只能通过“字符串操作”来完成吗?比如,子字符串?
【问题讨论】:
-
正则表达式?正如 Raymond Chen 所说,“现在你有两个问题”
-
hmmm.. 除了正则表达式?我从图书馆看到一本书,很厚,只是为了正则表达式。我以后会研究它,但不是现在,我2天前才开始使用c++
-
好吧,如果你想真正正确,请查看 rfc 并为那里提到的语法实施解析器
-
Lexer(解析器)和状态机?
-
Quibble:
http://不是域名的一部分;域名是"asd.asdasd.asd"。更大的狡辩:"asdasd"是一个有效的域名。如果您在foo.example.com上,并且有一个名为asdasd.example.com的主机,根据配置,您可以将其称为"asdasd"。需要明确的是,即使没有实际的asdTLD(顶级域),您也认为asd.asdasd是“有效的”,对吧?
标签: c++ validation dns