匹配文件名后缀的正则表达式

PaulLeder 2010-11-17 03:43:07
大家好,求助一个可以匹配文件名后缀的正则表达式。
格式可能是
<a href="http://xxx.com/abc.doc">doc文件</a>
<a href="http://xxx.com/abc.rar">rar文件</a>
<a href="/xxx/abc.rar">rar文件</a>

<img src="http://xxx.com/bcd.jpg" />

我想匹配到只包含后缀是.doc,.rar,.jpg后缀的链接和图片地址,谢谢。
我写了一个链接的,但是还是有问题
<a\s.*?href\s*=\s*(?:[\'\""\s])([^\""\']*[(.doc)|(.rar)|(.jpg)])[\'\""]

这个可以正常匹配到doc,rar,jpg后缀文件,但是也会匹配到例如.do之类的文件,有没有办法更精确的匹配呢,谢谢。
...全文
5640 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
PaulLeder 2010-11-18
  • 打赏
  • 举报
回复
在51上问到一个:
<a\s.*?href\s*=\s*(?:[\'\""\s])([^\""\']*\.(?:doc|rar|jpg))[\'\""]
非常感谢各位解答。
兔子-顾问 2010-11-17
  • 打赏
  • 举报
回复
try
<a\s.*?href\s*=\s*(['"]?)([^"']*\.(doc)|(rar)|(jpg))\1

关键是你理解错了。
[]表示的字符集,不是不包含
sprc_lcl 2010-11-17
  • 打赏
  • 举报
回复
把你的.改为 \.
sprc_lcl 2010-11-17
  • 打赏
  • 举报
回复
(?<=<a href=")[^"]*(\.doc|\.rar)(?=")|(?<=<img src=")[^"]*(\.jpg)(?=")

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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