正则表达式匹配a标签的href

JS代码:

<html>
<head>
<script language="javascript">
    var a=‘<P><A href="~abc/ccg/ab.jpg" width="3">文字</A><A width="4" style="color:#ddd; font-weight:bold;" mm_href="http:www.baidu.com"  href="http://bbs.cn.yimg.com/user_img/200701/31/soso1.jpg" mce_href="http://bbs.cn.yimg.com/user_img/200701/31/jisuanji986_117025184198149.jpg">cc</A> href="www.baidu.com" cbas <span>cchref</span><A width="5" href="http://bbs.cn.yimg.com/user_img/200701/31/soso2.jpg" mce_href="http://bbs.cn.yimg.com/user_img/200701/31/cc.jpg"></A></P>‘;

    var b=/<a([\s]+|[\s]+[^<>]+[\s]+)href=\"([^<>"]*)\"/gi;
    var s=a.toLowerCase().match(b);
    alert(s.length);
    for(var i= 0;i<s.length;i++)
    {
        var ss = s[i].toLowerCase().match(b);
        alert(RegExp.$2);
    }
</script>
</head>
<body>
</body>
</html>

C#代码:

string html = "<P><A href=‘~abc/ccg/ab.jpg\‘ width=‘3‘ height=\"4\">文字</A><A width=\"4\" style=\"color:#ddd; font-weight:bold;\" mm_href=\"http:www.baidu.com\"  href=\"http://bbs.cn.yimg.com/user_img/200701/31/soso1.jpg\" mce_href=\"http://bbs.cn.yimg.com/user_img/200701/31/jisuanji986_117025184198149.jpg\">cc</A> href=\"www.baidu.com\" cbas <span>cchref</span>  1<a df href=\"cc\"   <A width=\"5\" href=\"http://bbs.cn.yimg.com/user_img/200701/31/soso2.jpg\" mce_href=\"http://bbs.cn.yimg.com/user_img/200701/31/cc.jpg\"></A></P>";

Regex reg = new Regex("<a([\\s]+|[\\s]+[^<>]+[\\s]+)href=[\"|‘](?<href>[^<>\"‘]*)[\"|‘][^<>]*>", RegexOptions.IgnoreCase);
MatchCollection matchCollection = reg.Matches(html);
MessageBox.Show(matchCollection.Count.ToString());
foreach (Match match in matchCollection)
{
    MessageBox.Show(match.Groups["href"].ToString());
}

时间: 2024-10-09 03:49:49

正则表达式匹配a标签的href的相关文章

正则表达式匹配a标签或div标签

这里以a标签为例 a标签的href var a='<P><A href=\'~abc/ccg/ab.jpg\' width="3">文字</A><A width="4" style="color:#ddd; font-weight:bold;" mm_href="http:www.baidu.com" href="http://bbs.cn.yimg.com/user_img

正则表达式匹配img标签中的src获取地址

import java.util.regex.Matcher; import java.util.regex.Pattern; public class aa { public static void main(String[] args) { String htmlStr = "<img src='http://1231//1231/123/123.jpg' alt='图片'>"; Matcher m = Pattern.compile("src=\"

[转]使用正则表达式匹配嵌套Html标签

原文链接 https://msdn.microsoft.com/zh-cn/ff686933.aspx 本文来自Kevin Yang博客 作者:Kevin Yang 概述 正则表达式是做文本解析工作必不可少的技能.如Web服务器日志分析,网页前端开发等.很多高级文本编辑器都支持正则表达式的一个子集,熟练掌握正则表达式,经常能够使你的一些工作事半功倍.例如统计代码行数,只需一个正则就搞定.嵌套Html标签的匹配是正则表达式应用中一个比较难的话题,因为它涉及到的正则语法比较多,也比较难.因此也就更有

PHP正则表达式匹配嵌套HTML标签的方法和技巧

转载请注明出处:http://blog.csdn.net/donglynn/article/details/35788879 正则表达式是一个非常有用的编程技能.一般来说,简单的抓取一个HTML页面的某一条信息,比如<title>标题</title>,是很容易实现的.但是,我们往往要抓取某一个列表页面里的多个重复的<div></div>块里的特定内容,并且<div></div>块还有嵌套的使用,我们抓取的则是每个重复<div&g

Java/Js下使用正则表达式匹配嵌套Html标签

转自:http://www.jb51.net/article/24422.htm 以前写过一篇文章讲解如何使用正则表达式完美解决Html嵌套标签的匹配问题(使用正则表达式匹配嵌套Html标签),但是里头用到了平衡组这样的高级特性,貌似只有DotNet还有Perl正则引擎支持,因此通用性不高. 通用 HTML 标签区配正则 最近看网站日志,发现有人在博客上转了我不知道几年前写的一个匹配 HTML 标签的正则,刚好最近也在做一些相关的事情,顿时来了兴趣.就拿回来改改,成了下面这样,可能会有一些 ca

(转)PHP正则表达式匹配嵌套HTML标签的方法和技巧

正则表达式是一个非常有用的编程技能.一般来说,简单的抓取一个HTML页面的某一条信息,比如<title>标题</title>,是很容易实现的.但是,我们往往要抓取某一个列表页面里的多个重复的<div></div>块里的特定内容,并且<div></div>块还有嵌套的使用,我们抓取的则是每个重复<div></div>块里的多个信息.同时,网页源文件不同于一般的字符串,其还存在大量的回车.换行和制表符,这些都造成了

PHP 正则表达式匹配 preg_match 与 preg_match_all 函数

--http://www.5idev.com/p-php_preg_match.shtml 正则表达式在 PHP 中的应用 在 PHP 应用中,正则表达式主要用于: 正则匹配:根据正则表达式匹配相应的内容 正则替换:根据正则表达式匹配内容并替换 正则分割:根据正则表达式分割字符串 在 PHP 中有两类正则表达式函数,一类是 Perl 兼容正则表达式函数,一类是 POSIX 扩展正则表达式函数.二者差别不大,而且推荐使用Perl 兼容正则表达式函数,因此下文都是以 Perl 兼容正则表达式函数为例

正则表达式问题:如何理解/href\s*=\s*(?:&quot;(?&lt;1&gt;[^&quot;]*)&quot;|(?&lt;1&gt;\S+))/(转载)

ms-help://MS.VSCC/MS.MSDNVS.2052/jscript7/html/jsjsgrpregexpsyntax.htm 该文虽有解释, 但没有样例,对我这样的初学者来说很难理解 在msdn上看到:href\s*=\s*(?:"(?<1>[^"]*)"|(?<1>\S+)),该正则表达式匹配字符串中的形如href="..."的链接.msdn没有解释该表达式的语法, 以下是我初步的问题 1. (?:"(.

C#正则表达式匹配HTML中的图片路径

最近的项目中有个关于网页取图的功能需要我自己开发,那就是用正则表达式来匹配图片标签. 一般来说一个 HTML 文档有很多标签,比如“<html>”.“<body>”.“<table>”等,想把文档中的 img 标签提取出来并不是一件容易的事.由于 img 标签样式变化多端,使提取的时候用程序寻找并不容易.于是想要寻找它们就必须写一个非常健全的正则表达式,不然有可能会找得不全,或者找出来的不是正确的 img 标签. 我们可以从 HTML 标签的格式去想应该怎么建这个正则表