正则表达式问题

Venne 2004-10-21 12:01:47
写一个正则表达式,匹配URL地址,诸如http://、ftp://或者纯粹www.之类的地址,并且不能匹配在HTML标签内的url地址,如下:

fwww.fdsjkfsd.com http://fdjlkfd.com.com.f ftp://fdjkfdsf./df
fdsalfkdsja fsdahflksda fasdjlkfdsa tht.fdjfkld.fdfjlds.fsdlfj fdjsakl
tjhl<img src="../fdjkfd/fdlfd.gif"> fdjksffdslkaj <a href="http://fdjkfd.fdkfd.fdlcom">

正则表达式可以匹配:
fwww.fdsjkfsd.com
http://fdjlkfd.com.com.f
ftp://fdjkfdsf./df
不能匹配<img >标签里的fdlfd.gif 和<a>标签里的http://fdjkfd.fdkfd.fdlcom

敬请高手解惑……


...全文
116 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyzxyz1111 2005-04-28
  • 打赏
  • 举报
回复
#!/usr/bin/perl


$_ = 'fwww.fdsjkfsd.com http://fdjlkfd.com.com.f ftp://fdjkfdsf./df
fdsalfkdsja fsdahflksda fasdjlkfdsa tht.fdjfkld.fdfjlds.fsdlfj fdjsakl
tjhl<img src="../fdjkfd/fdlfd.gif"> fdjksffdslkaj <a href="http://fdjkfd.fdkfd.fdlcom">';

while(/(\<((\"[^\"]*\")|[^>]*?)\>)|(http\:\/\/[\w.\/]+|ftp\:\/\/[\w.\/]+|[\w.\/]*?www\.[\w.\/]+)/gi){
print "$4\n" if ($4);
}

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧