有这样一个需求
就是让用户输入一个网址 比如:www.163.com ,163.com
当然 www.163.com ,163.com 算一个网址假定用户输入的网址为正确的 那如何判读输入的库中是否有了呢??如果需要正则 , 请给出正则表达式 谢谢
就是让用户输入一个网址 比如:www.163.com ,163.com
当然 www.163.com ,163.com 算一个网址假定用户输入的网址为正确的 那如何判读输入的库中是否有了呢??如果需要正则 , 请给出正则表达式 谢谢
调试欢乐多
public void SaveURL()
{
//依据保存最简化地址原则
string input = "http://www.163.com/";//也可为www.163.com或163.com 结果一样
string output= Regex.Replace(input,"((http://)?www.)?(163.com)(/)?","$3",RegexOptions.IgnoreCase|RegexOptions.Singleline);
//output="163.com" 与数据库中对比判断该output值
}
public void SaveURL()
{
//依据保存最简化地址原则
string input = "http://www.163.com/";//也可为www.163.com或163.com 结果一样
string output= Regex.Replace(input,"((http://)?www.)?(163.com)(/)?","$3",RegexOptions.IgnoreCase|RegexOptions.Singleline);
//output="163.com" 与数据库中对比判断该output值
}
后面的完全匹配,正则好像有一个语法就是可选吧,不怎么会正则
declare @isHave bit
set @url='163.com' --从上面正则式得到的结果传入作为查询参数
set @isHave=(select count(1) from your_talbe
where charindex(@url,url_str)>0)
--url_str为列名 your_table为表名
--找到结果(无论一个或多个)@isHave会自动置为1
select @isHave --返回结果 1=已有 0=没有--当然可以用一句表示:
select case when (select count(1) from your_table
where charindex('163.com',url_str)>0)>0 then 1 else 0 end
System.Net.IPAddress[] ip=System.Net.Dns.GetHostAddresses("news.sohu.com");只判断一个ip[0](如果有)即可
楼主继续探索吧
OVER
create proc '存储过程名'
@url varchar(100) --要存入的网址
as
declare @int int
set @int=len(@url)+1
select count(*) from tableName where right('字段名',len(@url))=@url and left(right('字段名',@int),1)<>'.' and left(right('字段名',@int),1)<>'/'