需要正则表达式(使用PHP)来匹配域名。例子:
http://sub.domain.com/somefolder/index.html -> domain.com
somedomain.info -> somedomain.info
http://anotherdomain.org/home -> anotherdomain.org
www.subdomain.anothersubdomain.maindomain.com/something/ -> maindomain.com
答案 0 :(得分:2)
这可能不是正则表达式的工作,而是适用于您选择的语言的现有工具。正则表达不是一个魔术棒,您可以在遇到涉及字符串的每个问题上挥手。您可能希望使用已编写,测试和调试的现有代码。
在PHP中,使用parse_url
函数。
Perl:URI
module。
Ruby:URI
module。
.NET:'Uri' class
答案 1 :(得分:0)
你也可以使用这个:
((?>[a-z\-0-9]{2,}\.){1,}[a-z]{2,8})(?:\s|/)
它会匹配给定文本中找到的所有域名,同时返回第一组中找到的域名。
答案 2 :(得分:-1)
这解析了您可以检查的完整网址,匹配对象的第二个元素
(http|ftp|https):\/\/([\w\-_]+(?:(?:\.[\w\-_]+)+))([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?
适合我:)