今天来 改程序 把那个代码覆盖掉了
然后再也想不起是用什么关键词搜到的
历史记录中也没这个页面 因为是搜索结果页面上的最佳答案 直接复制的 没有打开网页
刚才又找了2个小时 99%都是不完善代码 比如简单的用a-z/A-Z/0-9去匹配
还有所有以http/https/ftp开头的代码 都不是我想要的
要求匹配
http://www.csdn.net
http://csdn.net
www.csdn.net
csdn.net
cs-dn.net
csdn.net:8080
abc.123.csdn.net
但不要求匹配
csdn.net/xxx (后面部分不要)
8 个解决方案
#1
找了一个还算能用的 是以http开始的(当然可以去掉这部分)
但还是无法识别域名后面带标点符号的
比如 http://csdn.net; 把;也算域名了
#2
‘1------------------------------------------------------
url=request.servervariables("SERVER_NAME")
response.write mid(url,Instr(url,".")+1,len(url))
’2------------------------------------------------------
Dim ServerName1, ServerName2, iCount
ServerName1 = Split(Request.ServerVariables("SERVER_NAME"), ".")
iCount = UBound(ServerName1)
ServerName2 = ServerName1(iCount-1) & "." & ServerName1(iCount)
response.Write(ServerName2)
url=request.servervariables("SERVER_NAME")
response.write mid(url,Instr(url,".")+1,len(url))
’2------------------------------------------------------
Dim ServerName1, ServerName2, iCount
ServerName1 = Split(Request.ServerVariables("SERVER_NAME"), ".")
iCount = UBound(ServerName1)
ServerName2 = ServerName1(iCount-1) & "." & ServerName1(iCount)
response.Write(ServerName2)
#3
这段代码 还把 http://www.csdn 误认为域名了
#4
难道你是判断友情链接?
要不然怎么会做这种判断呢,因为这种域名压根就不存在。
#5
<%
response.write getdomain("www.aaa.hk") & "<br />"
response.write getdomain("blog.aaa.hk") & "<br />"
response.write getdomain("mscga.blog.aaa.hk") & "<br />"
function getdomain(byval dom) ’ 返回空则表示域名不复合域名根要求
dim i,ext,exts
exts = "com.cn,net.cn,org.cn,hk.cn,com,net,cn,hk" ’ 复根在前,单根在后
ext = split(exts,",")
for i = 0 to ubound(ext)
if lcase(ext(i)) = right(lcase(dom),len(ext(i))) then
dim dom_ext,dom_pre
dom_ext = lcase(ext(i))
dom_pre = split(left(dom,len(dom)-len(dom_ext)-1),".")
getdomain = dom_pre(ubound(dom_pre)) & "." & dom_ext
exit function
end if
next
getdomain = ""
end function
%>
response.write getdomain("www.aaa.hk") & "<br />"
response.write getdomain("blog.aaa.hk") & "<br />"
response.write getdomain("mscga.blog.aaa.hk") & "<br />"
function getdomain(byval dom) ’ 返回空则表示域名不复合域名根要求
dim i,ext,exts
exts = "com.cn,net.cn,org.cn,hk.cn,com,net,cn,hk" ’ 复根在前,单根在后
ext = split(exts,",")
for i = 0 to ubound(ext)
if lcase(ext(i)) = right(lcase(dom),len(ext(i))) then
dim dom_ext,dom_pre
dom_ext = lcase(ext(i))
dom_pre = split(left(dom,len(dom)-len(dom_ext)-1),".")
getdomain = dom_pre(ubound(dom_pre)) & "." & dom_ext
exit function
end if
next
getdomain = ""
end function
%>
#6
是从某一篇文章中 读出其中包含的所有域名 然后判断这些域名 是否在黑名单上
#7
(?:https?|ftp)\:\/\/(?:(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=:]|%[0-9a-f]{2,2})*\@)?(?:((?:(?:[a-z0-9][a-z0-9\-]*[a-z0-9]|[a-z0-9])\.)*(?:[a-z][a-z0-9\-]*[a-z0-9]|[a-z])|(?:\[[^\]]*\]))(?:\:[0-9]*)?)(?:\/(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@]|%[0-9a-f]{2,2})*)*(?:\?(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?(?:\#(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?
测试了一下
这个代码 可以找到 http://开头的域名 只是会出现 http://www.csdn 这样的错误 但不会出现 http://www.csdn.net;
我简单的把http部分去掉 代码改为
(?:(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,;\=:]|%[0-9a-f]{2,2})*\@)?(?:((?:(?:[a-z0-9][a-z0-9\-]*[a-z0-9]|[a-z0-9])\.)*(?:[a-z][a-z0-9\-]*[a-z0-9]|[a-z])|(?:\[[^\]]*\]))(?:\:[0-9]*)?)(?:\/(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@]|%[0-9a-f]{2,2})*)*(?:\?(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?(?:\#(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?
可以找到带和不带http的全部域名 但会出现 http://www.csdn.net; 这样错误
测试了一下
这个代码 可以找到 http://开头的域名 只是会出现 http://www.csdn 这样的错误 但不会出现 http://www.csdn.net;
我简单的把http部分去掉 代码改为
(?:(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,;\=:]|%[0-9a-f]{2,2})*\@)?(?:((?:(?:[a-z0-9][a-z0-9\-]*[a-z0-9]|[a-z0-9])\.)*(?:[a-z][a-z0-9\-]*[a-z0-9]|[a-z])|(?:\[[^\]]*\]))(?:\:[0-9]*)?)(?:\/(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@]|%[0-9a-f]{2,2})*)*(?:\?(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?(?:\#(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?
可以找到带和不带http的全部域名 但会出现 http://www.csdn.net; 这样错误
#8
而一篇文章中 可能包含10个不同格式的域名 都要找出来
#1
"(?:https?|ftp)\:\/\/(?:(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=:]|%[0-9a-f]{2,2})*\@)?(?:((?:(?:[a-z0-9][a-z0-9\-]*[a-z0-9]|[a-z0-9])\.)*(?:[a-z][a-z0-9\-]*[a-z0-9]|[a-z])|(?:\[[^\]]*\]))(?:\:[0-9]*)?)(?:\/(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@]|%[0-9a-f]{2,2})*)*(?:\?(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?(?:\#(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?"
找了一个还算能用的 是以http开始的(当然可以去掉这部分)
但还是无法识别域名后面带标点符号的
比如 http://csdn.net; 把;也算域名了
#2
‘1------------------------------------------------------
url=request.servervariables("SERVER_NAME")
response.write mid(url,Instr(url,".")+1,len(url))
’2------------------------------------------------------
Dim ServerName1, ServerName2, iCount
ServerName1 = Split(Request.ServerVariables("SERVER_NAME"), ".")
iCount = UBound(ServerName1)
ServerName2 = ServerName1(iCount-1) & "." & ServerName1(iCount)
response.Write(ServerName2)
url=request.servervariables("SERVER_NAME")
response.write mid(url,Instr(url,".")+1,len(url))
’2------------------------------------------------------
Dim ServerName1, ServerName2, iCount
ServerName1 = Split(Request.ServerVariables("SERVER_NAME"), ".")
iCount = UBound(ServerName1)
ServerName2 = ServerName1(iCount-1) & "." & ServerName1(iCount)
response.Write(ServerName2)
#3
这段代码 还把 http://www.csdn 误认为域名了
#4
这段代码 还把 http://www.csdn 误认为域名了
难道你是判断友情链接?
要不然怎么会做这种判断呢,因为这种域名压根就不存在。
#5
<%
response.write getdomain("www.aaa.hk") & "<br />"
response.write getdomain("blog.aaa.hk") & "<br />"
response.write getdomain("mscga.blog.aaa.hk") & "<br />"
function getdomain(byval dom) ’ 返回空则表示域名不复合域名根要求
dim i,ext,exts
exts = "com.cn,net.cn,org.cn,hk.cn,com,net,cn,hk" ’ 复根在前,单根在后
ext = split(exts,",")
for i = 0 to ubound(ext)
if lcase(ext(i)) = right(lcase(dom),len(ext(i))) then
dim dom_ext,dom_pre
dom_ext = lcase(ext(i))
dom_pre = split(left(dom,len(dom)-len(dom_ext)-1),".")
getdomain = dom_pre(ubound(dom_pre)) & "." & dom_ext
exit function
end if
next
getdomain = ""
end function
%>
response.write getdomain("www.aaa.hk") & "<br />"
response.write getdomain("blog.aaa.hk") & "<br />"
response.write getdomain("mscga.blog.aaa.hk") & "<br />"
function getdomain(byval dom) ’ 返回空则表示域名不复合域名根要求
dim i,ext,exts
exts = "com.cn,net.cn,org.cn,hk.cn,com,net,cn,hk" ’ 复根在前,单根在后
ext = split(exts,",")
for i = 0 to ubound(ext)
if lcase(ext(i)) = right(lcase(dom),len(ext(i))) then
dim dom_ext,dom_pre
dom_ext = lcase(ext(i))
dom_pre = split(left(dom,len(dom)-len(dom_ext)-1),".")
getdomain = dom_pre(ubound(dom_pre)) & "." & dom_ext
exit function
end if
next
getdomain = ""
end function
%>
#6
这段代码 还把 http://www.csdn 误认为域名了
难道你是判断友情链接?
要不然怎么会做这种判断呢,因为这种域名压根就不存在。
是从某一篇文章中 读出其中包含的所有域名 然后判断这些域名 是否在黑名单上
#7
(?:https?|ftp)\:\/\/(?:(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=:]|%[0-9a-f]{2,2})*\@)?(?:((?:(?:[a-z0-9][a-z0-9\-]*[a-z0-9]|[a-z0-9])\.)*(?:[a-z][a-z0-9\-]*[a-z0-9]|[a-z])|(?:\[[^\]]*\]))(?:\:[0-9]*)?)(?:\/(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@]|%[0-9a-f]{2,2})*)*(?:\?(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?(?:\#(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?
测试了一下
这个代码 可以找到 http://开头的域名 只是会出现 http://www.csdn 这样的错误 但不会出现 http://www.csdn.net;
我简单的把http部分去掉 代码改为
(?:(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,;\=:]|%[0-9a-f]{2,2})*\@)?(?:((?:(?:[a-z0-9][a-z0-9\-]*[a-z0-9]|[a-z0-9])\.)*(?:[a-z][a-z0-9\-]*[a-z0-9]|[a-z])|(?:\[[^\]]*\]))(?:\:[0-9]*)?)(?:\/(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@]|%[0-9a-f]{2,2})*)*(?:\?(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?(?:\#(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?
可以找到带和不带http的全部域名 但会出现 http://www.csdn.net; 这样错误
测试了一下
这个代码 可以找到 http://开头的域名 只是会出现 http://www.csdn 这样的错误 但不会出现 http://www.csdn.net;
我简单的把http部分去掉 代码改为
(?:(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,;\=:]|%[0-9a-f]{2,2})*\@)?(?:((?:(?:[a-z0-9][a-z0-9\-]*[a-z0-9]|[a-z0-9])\.)*(?:[a-z][a-z0-9\-]*[a-z0-9]|[a-z])|(?:\[[^\]]*\]))(?:\:[0-9]*)?)(?:\/(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@]|%[0-9a-f]{2,2})*)*(?:\?(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?(?:\#(?:[a-z0-9\-\._~\!\$\&\'\(\)\*\+\,\;\=\:\@\/\?]|%[0-9a-f]{2,2})*)?
可以找到带和不带http的全部域名 但会出现 http://www.csdn.net; 这样错误
#8
而一篇文章中 可能包含10个不同格式的域名 都要找出来