写个匹配某段html dom代码某属性的正则匹配方法

private static string GetHtmlDomAttr(string html, string id, string attrname)
        {
            string xmatchstring = "<[^<>]+id=\"{0}\"\\s*{1}=\"(?<attvalue>\\S*)\"[^>]*>|<[^<>]+{1}=\"(?<attvalue>\\S*)\"\\s*id=\"{0}\"[^>]*>";
            string xmathcstringend = string.Format(xmatchstring, id, attrname);
            MatchCollection xmatchs = Regex.Matches(html, xmathcstringend, RegexOptions.IgnoreCase);
            if (xmatchs.Count > 0)
            {
                Match fristMatch = xmatchs[0];
                return fristMatch.Groups["attvalue"] == null ? "" : fristMatch.Groups["attvalue"].Value;
            }
            //Match xmatch = Regex.Match(html, xmathcstringend, RegexOptions.IgnoreCase);
            //if (xmatch != null)
            //{
            //    return xmatch.Groups["attvalue"]==null?"":xmatch.Groups["attvalue"].Value;
            //}
            return "";
        }
时间: 2024-11-06 09:59:59

写个匹配某段html dom代码某属性的正则匹配方法的相关文章

利用Python正则匹配中文——爬取校园网公告栏中感兴趣的内容

写这个程序是因为校园网公告栏时不时会有学术报告,讲座之类的信息发布,但这类信息往往发布在讲座的前一天,以至于丢失很多重要消息.同时公告栏里也会发布一些跟学生无关的内容,比如工会主席会议啥的. 主要遇到的困难时对中文的正则匹配问题.(比如通过第一次正则可以提取到一个页面内的所有中文标题,第二次正则从这些中文标题中将能匹配上“报告”两个字的对象添加到结果list内) 学校公告页面是gb2312编码.我使用的方式是,整个工程使用utf-8编码,将需要匹配的关键字转换成utf-8编码格式,使用正则匹配u

php正则匹配类

代码: /** * @desc:正则匹配类 * @author [Lee] <[<[email protected]>]> * @method * 1.geturl 获取所有超链接 * 2.getimg 获取所有图片 * 3.getaudio 获取所有音频文件 * 4.getvideo 获取所有视频文件 * 5.getparagraph 获取所有段落 * 6.getuser 获取自定义内容 preg 自定义正则,如:/<h1>(.*)<h1>/Ui */ c

js正则实现从一段复杂html代码字符串中匹配并处理特定信息

js正则实现从一段复杂html代码字符串中匹配并处理特定信息 问题: 现在要从一个复杂的html代码字符串(包含各种html标签,数字.中文等信息)中找到某一段特别的信息(被一对“|”包裹着),并对他进行加粗.加下滑线处理. 解决思路: 1.用正则匹配“|”出现的次数,处理刚好出现2次的(html字符串中一般不会含有这个字符) 2.使用正则分组,获取“|”之间的内容,并进行替换(添加样式) 代码: function specialDeal(){ htmlStr = htmlStr.replace

写让别人能读懂的代码

随着软件行业的不断发展,历史遗留的程序越来越多,代码的维护成本越来越大,甚至大于开发成本.而新功能的开发又常常依赖于旧代码,阅读旧代码所花费的时间几乎要大于写新功能的代码. 我前几天看了一本书,书中有这么一句话: “复杂的代码往往都是新手所写,只有经验老道的高手才能写出简单,富有表现力的代码” 此话虽然说的有点夸张,可是也说明了经验的重要性. 我们所写的代码除了让机器执行外,还需要别人来阅读.所以我们要: 写让别人能读懂的代码 写可扩展的代码 写可测试的代码(代码应该具备可测试性,对没有可测试性

一段神奇的代码-关于PHP字符变量奇怪现象的解释

首先神奇的PHP是支持字符数据类型的,有同学就写了这样一段代码: for ($c = 'a'; $c <= 'z'; $c++) { echo $c . ' '; } 然而结果却不是他想要的a到z a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg

常用的JavaScript正则匹配规则代码收藏,很实用

收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水平菜,老是自己写不出,看了这个文档,觉得心里踏实很多,用到正则匹配的时候,看下这个,相信为让你省不少时间.注:本正则不仅限于在JS中使用,其它语言也可以借鉴. 匹配特定数字: ^[1-9]\d*$ //匹配正整数 ^-[1-9]\d*$ //匹配负整数 ^-?[1-9]\d*$ //匹配整数 ^[1-9]\d*|0$

实在忍不住了,发一段神级代码,大家瞻仰瞻仰

跟这样的函数比起来,顿觉日月无光,天昏地暗,飞沙走石! 完全一派末日景象啊! 另外命名什么的就先无视吧……跟这么强大的封装比起来,命名算个屁啊! ----说下背景吧-------------- 上述代码是我强调了多次,MVC必须要用Model,然后要注意封装,结果这姐姐(工作2年多了都)就封装成这个德行了 -------------------- 同样一个函数,既能返回一个对象,还能返回这个对象中的某个属性啊服了工作这么多年第一次见这样的神级代码 .到处new,new你妹啊new! ------

c#实现每隔一段时间执行代码(多线程)

总结以下三种方法,实现c#每隔一段时间执行代码: 方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间: 方法二:使用System.Timers.Timer类: 方法三:使用System.Threading.Timer: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

Web开发者的福利 30段超实用CSS代码

1.花式连字符(&) 这个类应该在span元素里使用,并且里面包括&字符.它使用经典的serif字体和斜体来增强&符号. .amp { font-family: Baskerville, 'Goudy Old Style', Palatino, 'Book Antiqua', serif; font-style: italic; font-weight: normal;} 2.段落首字符下沉 通常,这种效果会出现在印刷媒体上,如报纸或书籍.同样,如果网页布局合理,它也可以使用在We