寻求正则式帮助,求html链接的搜索提取正则式

shanhe 2003-05-04 11:51:04
我想
1、以下从html问当中搜索链接的正则式是否完全正确,或者是否有其他的表达式?
<A[^>]*?HREF\s*=\s*[""']?([^'"" >]+?)[ '""]?>

2、我找到了类似 <a href="http://xy.x" target=_blank ...> <a href="../x/y/" target=_blank ...> 这样的字符串,如何提取其中的 http://xy.z 或者../x/y/ 这样的内容?

有没有正则式比较优雅的解决方案?

...全文
42 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shanhe 2003-05-08
to xuzuning(唠叨) :
还是有问题,
<script>
var str="<a href=http://xy.x target=_blank ...>XXX</a>";
re = /<a .*href[\s]*=[\s]*(['"]*)(.+)\1.*>/i;
alert(str.replace(re,"$2"));
document.writeln(str);
</script>
可以在浏览器显示xxx连接但是无法正确提取http://xy.x,我发觉正则式太难掌握了。
  • 打赏
  • 举报
回复
xuzuning 2003-05-07
<script>
re = /<a .*href=(['"]*)(.+)\1.*>/i;
alert('<a href="http://xy.x" target=_blank ...> '.replace(re,"$2"));
</script>
  • 打赏
  • 举报
回复
shanhe 2003-05-07
<a href="http://www.263.net'>a</a>
这样呢?
首先要检查HTML是否合法,在合法的前提下找href。
显然上面是不合法的,但是你的正则式返回的是true。

加个引用吧。

什么引用?我就是觉得有问题才发帖的,runmin能够详细点?能否谈谈您的意见?
  • 打赏
  • 举报
回复
blues-star 2003-05-06
<a href="http://www.263.net'>a</a>

这样呢?

首先要检查HTML是否合法,在合法的前提下找href。
显然上面是不合法的,但是你的正则式返回的是true。

加个引用吧。
  • 打赏
  • 举报
回复
shanhe 2003-05-06
有没有新的意见,谢谢.
  • 打赏
  • 举报
回复
shanhe 2003-05-05
再次询问高手,自己UP
  • 打赏
  • 举报
回复
shanhe 2003-05-05
那我在C#使用Regex对象如何写正则式?我以为js组的队正则式理解应当熟些
  • 打赏
  • 举报
回复
hyee 2003-05-05
js的正则可没有完全实现perl正则的功能哦!
  • 打赏
  • 举报
回复
shanhe 2003-05-05
1、我基本上可以搜索出结果来
2、我能够得到<a href= "....." ....>xxxxxxxxx</a>这样的匹配结果,但是无法简便获得 href="......"中的内容,不断的分解当然可以解决,但是我希望能够正则式匹配解决,我想perl高手也许可以轻松搞定。

另外,关于链接的巴斯克范式定义是什么?我想也许范式定义可以帮助我们寻找正则式。
  • 打赏
  • 举报
回复
hyee 2003-05-05
JScript的正则表达式帮助文件中有(?=patten)的用法可以解决这个问题,可是我当时测试出错,估计要更高的版本。现在只能先得到一个数组,然后再在循环中使用正则得到地址了。
  • 打赏
  • 举报
回复
hillhero789 2003-05-05
帮忙up
  • 打赏
  • 举报
回复
相关推荐
发帖
JavaScript
加入

8.6w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
申请成为版主
帖子事件
创建了帖子
2003-05-04 11:51
社区公告
暂无公告